jquery .css/.attr/.addClass无法处理span标记

Jon*_*nny 4 html javascript css jquery

我正在尝试使用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');
            }
        });
Run Code Online (Sandbox Code Playgroud)

Adi*_*dil 7

各()函数给你DOM的对象不是jQuery对象

改成

$(value).css('background-color', '#D94A38');
Run Code Online (Sandbox Code Playgroud)

你的代码就是

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


Jam*_*ill 6

value 不是jQuery对象(它是一个DOM对象).

这个:

value.css('background-color', '#D94A38');
Run Code Online (Sandbox Code Playgroud)

应该:

$(value).css('background-color', '#D94A38');
Run Code Online (Sandbox Code Playgroud)

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