原生JS通过id和class获取元素是用,documentgetElementById(IDname),documentgetElementsByClassName('ClassName');
兼容性:ID兼容,class 不兼容IE6,7,8
数量: 通过ID只能获取一个dom元素,通过class可以获取一组元素。
通用性:ID不能重复,class可以重复,所以class比较好用,这也是jQuery能被广泛应该的原因(选择器好)。
没有按照JS语言规范来写当然会报错。
documentgetElementById("") 里边就不要用 +拼接符了,而且后边不是document,而是直接一个点就可以了。
for 循环也有问题。
不要用O=0;这样难以区分,养成好的习惯
var sstab = documentgetElementById('yearr')getElementsByClassName("stab");
for(var i=0;i<sstablength;i++) {
var rowss = sstab[i]rows; //rows 十个什么鬼
for (var k = 0; k < rowsslength; k++){
// for 循环是标准的 for(){} 括号加大括号 你这又少个大括号是什么意思。
}
{
看来你基础还很薄弱,继续加油吧,帮你看 也是在提升自己。
还有养成
consolelog() ,还有 alealert () 检查代码的习惯,因为你写了一大串然后看报错了找死你,都不知道哪里错了,浪费时间
非IE6,7,8可以直接用自带的属性 getElementsByClassName,如果需要考虑兼容,就需要自己写了。下面是自己写的:
function getClassName(obj,sName) //-->obj是要获取元素的父级
{ //-->sName是class名字
if(documentgetElementsByClassName)
{
return objgetElementsByClassName('sName');
}
else
{
var aTmp = objgetElementsByTagName('');
var aRes=[];
var arr =[];
for(var i=0;i<aTmplength;i++)
{
arr = aTmp[i]classNamesplit(' ');
for (var j=0;j<arrlength;j++)
{
if(arr[j] == sName)
{
aRespush(aTmp[i]);
}
}
}
return aRes;
}
}
大概思路,是将你要获取class元素父级下的所有元素都取出来,再循环查找className,满足的元素存到数组中,然后返回。
以上就是关于js获取id号和class类名的区别全部的内容,包括:js获取id号和class类名的区别、想要通过js获取ID父元素下class的值,该怎么写,、js怎么根据class获取元素等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)