4

我正在尝试使用 jquery 设置跨度的背景颜色。我已经使用了标题中的所有功能,但都给了我一个错误:

SCRIPT438:对象不支持属性或方法'css'/'attr'/'addClass'

知道如何解决这个问题吗?我想要的只是改变背景颜色,但如果我可以设置类,我更喜欢。

代码:

var liList = ul.find('li span');
        $.each(liList, function(index, value){
            if(value.innerText == currPage){
                value.css('background-color', '#D94A38');
            }
        });
4

3 回答 3

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');
        }
});
于 2013-01-14T12:15:05.707 回答
6

value不是 jQuery 对象(它是 DOM 对象)。

这:

value.css('background-color', '#D94A38');

应该:

$(value).css('background-color', '#D94A38');

查看.each()文档以获取更多信息。

于 2013-01-14T12:15:03.400 回答
0

我想如果你用 $(value) 替换 value 你的问题就会解决

于 2013-01-14T12:17:02.580 回答