日期:2014-05-16  浏览次数:20381 次

关于检查元素是否具有某个样式
JScript code
/**
         * 检查元素是否具有某个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。 我就想问这是什么意思,大概意思我懂,请大侠详细解释解释。

------解决方案--------------------
不是的,原来你真的是在这里搞错了
element.className是获取元素的样式列表
(element, className)这里的className是指定要查询的某一个新式

这样你就明白了吧?
JScript code
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;
        },