我正在尝试使用jquery设置span的背景颜色。我已经使用了标题中的所有函数,并且都给了我一个错误:
SCRIPT438:对象不支持属性或方法'css'/'attr'/'addClass'
知道如何解决这个问题吗?我想要的只是改变bg颜色,但是如果我可以设置类,我更喜欢。
代码:
var liList = ul.find('li span');
$.each(liList, function(index, value){
if(value.innerText == currPage){
value.css('background-color', '#D94A38');
}
});
答案 0 :(得分:7)
each()函数为您提供DOM
对象而不是jQuery
对象
更改为
$(value).css('background-color', '#D94A38');
您的代码将是
var liList = ul.find('li span');
$.each(liList, function(index, value){
if(value.innerText == currPage){
$(value).css('background-color', '#D94A38');
}
});
答案 1 :(得分:6)
value
不是jQuery对象(它是一个DOM对象)。
此:
value.css('background-color', '#D94A38');
应该是:
$(value).css('background-color', '#D94A38');
查看.each()
docs以获取更多信息。
答案 2 :(得分:0)
我认为如果用$(值)替换值,你的问题就会解决