我有一个使用li的元素的列表.toArray()。我现在需要遍历它们以查找所需的元素并更改其样式Class。

我不确定自己在做什么错,但是我似乎无法获取索引项的类,但是我可以毫无问题地检索innerHTML

var viewsIndex = $('#viewsList li').toArray()
        for(i=0; i < viewsIndex.length; i++) {
            if(viewsIndex[i].innerHTML == selectedTab) {

                console.log(viewsIndex[i].attr('style')); //This does NOT work
                console.log(viewsIndex[i].innerHTML); //This does work
            }
            else
            {


            }
        }


定位元素后,我想使用.removeClass.addClass更改样式。

最佳答案

这是没有jQuery函数的DOM对象:

viewsIndex[i]


这是具有attr功能的jQuery对象:

$(viewsIndex[i]).attr('style')


无论如何,您的代码可以使用以下代码简单得多:

$('#viewsList li').filter(function(){
    return this.innerHTML == selectedTab;
}).removeClass('foo').addClass('bar');

关于javascript - 使用jquery从数组更改目标元素的类,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14416859/

10-10 02:04