这是个判断节点中是否有class的函数
function hasClass(node,className){
var names = node.className.split(/\s+/);
for(var i=0;i<names.length;i++){
if(name[i] == className) return true;
}
return false;
}var names = node.className.split(/\s+/); 这里的className是算传过来的参数还是算语言中自带的啊 不懂了
function hasClass(node,className){
var names = node.className.split(/\s+/);
for(var i=0;i<names.length;i++){
if(name[i] == className) return true;
}
return false;
}var names = node.className.split(/\s+/); 这里的className是算传过来的参数还是算语言中自带的啊 不懂了
是不是js语言中自带一个className啊
那js中如何判断它是参数还是别的啊?
传node过来了,就不用传第二个参数了,他自己的属性就是。
var names = node.className.split(/\s+/);
for(var i=0;i<names.length;i++){
if(name[i] == className) return true;
}
return false;
}这是害死人的代码。函数愿意是在DOM对象的修饰类中查找名为className的类,找到就返回true,否则返回false。
if(name[i]...)这句使用了一个未声明的name,于是后面不说了
下载这个资源可以查看dhtml对象以及属性方法等,下载js参考手册可以查看js语言的相关资料。
比如一个节点引用了a,b,c三个类,此时第二个参数传入a或b或c则返回true
if(name[i] == className) return true; 这里的className应该是一个参数吧上面我的理解对的话 属性和参数都用相同的className这样写可以的吗?
js会自动区分哪个是属性哪个是参数?
只是这种写法让看的人有点疑惑。通常来说用arguments[0],arguments[1]这样子更好。