这是个判断节点中是否有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是算传过来的参数还是算语言中自带的啊  不懂了

解决方案 »

  1.   


    是不是js语言中自带一个className啊
    那js中如何判断它是参数还是别的啊?
      

  2.   

    node的属性。
    传node过来了,就不用传第二个参数了,他自己的属性就是。
      

  3.   

    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;
    }这是害死人的代码。函数愿意是在DOM对象的修饰类中查找名为className的类,找到就返回true,否则返回false。
    if(name[i]...)这句使用了一个未声明的name,于是后面不说了
      

  4.   

    http://download.csdn.net/detail/myvicy/4073293
    下载这个资源可以查看dhtml对象以及属性方法等,下载js参考手册可以查看js语言的相关资料。
      

  5.   

    判断某个节点是否引用了指定的类,第二个参数传入要检查的类,即检测node节点是否引用了这个类
    比如一个节点引用了a,b,c三个类,此时第二个参数传入a或b或c则返回true
      

  6.   

    这个函数是别人写的,这个name是我打错了var names = node.className.split(/\s+/);   这里的className应该是node的一个属性吧
    if(name[i] == className) return true;      这里的className应该是一个参数吧上面我的理解对的话 属性和参数都用相同的className这样写可以的吗? 
    js会自动区分哪个是属性哪个是参数? 
      

  7.   

    一个是function里面的local variable,一个是object里面的property,这两个当然可以区分。
    只是这种写法让看的人有点疑惑。通常来说用arguments[0],arguments[1]这样子更好。