/**
* 检查元素是否具有某个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。 我就想问这是什么意思,大概意思我懂,请大侠详细解释解释。
* 检查元素是否具有某个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。 我就想问这是什么意思,大概意思我懂,请大侠详细解释解释。
* @param {DOM Object} element
* @param {String} 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;
},
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 不是一个元素吗?
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;
},
嗯 谢谢 我再问问,既然 className 是javascript的关键字,那我们平常的定义的变量名也可以是这个吗? 是不是javascript这门语言在这方面比较宽松。
那我最后问一个问题 因为我写的是 id ,不是class 。所以不能用element.className了吧,那id应该用什么呢? 我是把 class 的属性值全部整合到 id 里面了。
比如 class 属性值是 background-image: url(...) ,那我完全可以去掉class,把 background-image: url(...) 整合到 id 里面啊。就只保留一个 id ,删掉 class。
id 和 class 的区别就是 id一个页面只可以使用一次,class可以多次引用。 如果我使用一个标签,比如<div id="one" class="two"> 那我为什么不能把 class 的属性整合到 id 里面呢? 我就只用 id ,不用class ,这难道不行吗? 因为在这个页面我别的地方不用这个 class ,相当于这个页面我 class 也只用一次,那倒不如直接整合的 id 里面。你觉得呢?
id="a b c d"
我请你回答我,你如何定义它的样式?
<style type="text/css">
#a b c d{display:none}/*难不成这样可以定义它的样式?*/
</style>不要纠缠一些莫名其妙的问题。就只能浪费你的时间而已
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 的属性
}
那js有没有类似于 element.className 的属性操作方法,比如 element.id 什么的。因为我不想操作样式,我把class删了,就用id。
关于这个问题,最后问你一下。那js有没有类似于 element.className 的属性操作方法,比如 element.id 什么的。因为我不想操作样式,我把class删了,就用id。