/**
         * 检查元素是否具有某个class样式
         * @param {DOM Object} element
         * @param {String} className
         */
        hasClass : function(element, className) {
            var names = element.className.split(/\s+/);
            for(var i = 0; i < names.length; i++) {
                if(names[i] == className) {
                    return true;
                }
            }
            return false;
        },#btnSound {
display: block;
position: absolute;
left: 15px;
top: 15px;
width: 52px;
height: 52px;
background-position: -17px -1023px;
}
#btnSound.disabled {
background-position: -17px -971px;
}
element是btnSound,className是disabled。   我就想问这是什么意思,大概意思我懂,请大侠详细解释解释。

解决方案 »

  1.   

      * 检查元素是否具有某个class样式
             * @param {DOM Object} element
             * @param {String} className
             */
    你这不是注明了吗?
      

  2.   

    我们给一个元素设置样式:class="a b c d e f g"js中获取某个元素使用了哪些样式可使用:obj.className那下面的就好理解了:
    hasClass : function(element, className) {
                var names = element.className.split(/\s+/);//将element的所有样式以空格做分隔,得到一个数组类似:["a","b","c"]
                for(var i = 0; i < names.length; i++) {//对这个数组进行遍历
                    if(names[i] == className) {
                        return true;//如果数组中某个元素与指定的样式名称相同,则表示当前element含有指定样式,返回true
                    }
                }
                return false;
            },
      

  3.   

    hasClass : function(element, className) {
                var names = element.className.split(/\s+/);//将element的所有样式以空格做分隔,得到一个数组类似:["a","b","c"]
                for(var i = 0; i < names.length; i++) {//对这个数组进行遍历
                    if(names[i] == className) {
                        return true;//如果数组中某个元素与指定的样式名称相同,则表示当前element含有指定样式,返难道第一行 (element, className) 中的className 和第二行 element.className 中className 不是一个元素吗?  
      

  4.   

    不是的,原来你真的是在这里搞错了
    element.className是获取元素的样式列表
    (element, className)这里的className是指定要查询的某一个新式这样你就明白了吧?
    hasClass : function(element,a) {
                var names = element.className.split(/\s+/);//将element的所有样式以空格做分隔,得到一个数组类似:["a","b","c"]
                for(var i = 0; i < names.length; i++) {//对这个数组进行遍历
                    if(names[i] == a) {
                        return true;//如果数组中某个元素与指定的样式名称相同,则表示当前element含有指定样式,返回true
                    }
                }
                return false;
            },
      

  5.   


    嗯  谢谢    我再问问,既然 className 是javascript的关键字,那我们平常的定义的变量名也可以是这个吗? 是不是javascript这门语言在这方面比较宽松。
      

  6.   

    其实这个className算不上关键字。它只是某种对象具备的一个属性而已当然可以。只是一些类似于保留字的不能用作变量名。其他的都OK呃,它不要太宽松了呀。
      

  7.   


    那我最后问一个问题   因为我写的是 id ,不是class 。所以不能用element.className了吧,那id应该用什么呢? 我是把 class 的属性值全部整合到 id 里面了。
      

  8.   

    id就是id,样式就是样式。什么叫把class属性值整合到id里了?难道你命名ID还:<input type='text' id='a b c d e f g'>这样不成???搞不明白你的意思
      

  9.   


    比如 class 属性值是 background-image: url(...) ,那我完全可以去掉class,把 background-image: url(...) 整合到 id 里面啊。就只保留一个 id ,删掉 class。
      

  10.   

    呃,不得不承认。一句都没看懂反正:element.className就是获取样式列表:class='a b c d e'就是获取这里面的:a b c d e用的
      

  11.   


    id 和 class 的区别就是 id一个页面只可以使用一次,class可以多次引用。 如果我使用一个标签,比如<div id="one" class="two">   那我为什么不能把 class 的属性整合到 id 里面呢?  我就只用 id ,不用class ,这难道不行吗?  因为在这个页面我别的地方不用这个 class ,相当于这个页面我 class 也只用一次,那倒不如直接整合的 id 里面。你觉得呢?
      

  12.   

    要说多少次你才能明白呢?说了没这个用法呀什么叫把class整合到id中去?
    id="a b c d"
    我请你回答我,你如何定义它的样式?
    <style type="text/css">
    #a b c d{display:none}/*难不成这样可以定义它的样式?*/
    </style>不要纠缠一些莫名其妙的问题。就只能浪费你的时间而已
      

  13.   

    #btnSound {
    display: block;
    position: absolute;
    left: 15px;
    top: 15px;
    width: 52px;
    height: 52px;
    background-position: -17px -1023px;
    }
    .disabled {
    background-position: -17px -971px;
    }上面的是 css 文件中  id 的属性  下面的是 class 的属性,难道我不能这样整合他们吗?#btnSound {
    display: block;
    position: absolute;
    left: 15px;
    top: 15px;
    width: 52px;
    height: 52px;
    background-position: -17px -1023px;
            background-position: -17px -971px;  //这行原来是 class 的属性
    }
      

  14.   


    那js有没有类似于 element.className 的属性操作方法,比如 element.id  什么的。因为我不想操作样式,我把class删了,就用id。
      

  15.   


    关于这个问题,最后问你一下。那js有没有类似于 element.className 的属性操作方法,比如 element.id 什么的。因为我不想操作样式,我把class删了,就用id。