一个朋友在某公司为某国企教育机构做网络课程。她的任务是做一些前端页面的工作,但做网络课程的要求是table布局,且得考虑ie6、7、8,不允许用jquery等框架。要知道ie是不支持className取标签的啊,如果要通过className获取标签怎么办啊。你可以通过这个方法:
function getElementsByClassName(className,root,tagName) { //root:父节点,tagName:该节点的标签名。 这两个参数均可有可无 if(root){ root=typeof root=="string" ? document.getElementById(root) : root; }else{ root=document.body; } tagName=tagName||"*"; if (document.getElementsByClassName) { //如果浏览器支持getElementsByClassName,就直接的用 return root.getElementsByClassName(className); }else { var tag= root.getElementsByTagName(tagName); //获取指定元素 var tagAll = []; //用于存储符合条件的元素 for (var i = 0; i < tag.length; i++) { //遍历获得的元素 for(var j=0,n=tag[i].className.split(' ');j<n.length;j++){ //遍历此元素中所有class的值,如果包含指定的类名,就赋值给tagnameAll if(n[j]==className){ tagAll.push(tag[i]); break; } } } return tagAll; } }
记得我大学的网站还是table满天飞呢。互联网贫瘠的地方恰恰是国企、ZF部门,一直很纳闷几大国有银行的网银为什么只有ie内核的浏览器才能登陆、支付。或许他们有他们的原因,我现在的知识面太小了,需要学习的东西太多太多。
本文转自挨踢前端博客园博客,原文链接http://www.cnblogs.com/duanhuajian/archive/2013/03/06/2946584.html如需转载请自行联系原作者
@挨踢前端