jquery整理出来

时间:2010-12-29 17:05:33

标签: jquery jquery-selectors html-lists

我有代码

<ul id="list">
 <li>test</li>
 <li class="header">test</li>
 <li>test</li>
</ul>

我需要执行此代码

(使用jquery)

var items = $("#list li");

$.each(items, function (key, value) {
 if ($(value).hasClass(".header")) { 
    ... Do Something ...
    }
}

此代码不起作用,因为值=='test'

借口,我的英语很糟糕

2 个答案:

答案 0 :(得分:3)

我不知道value == 'test'你的意思。在你的问题中没有类似的东西。

您的$.each()错过了结束)

此外,您的.hasClass不应在类名中包含.

所以这个:

.hasClass(".header")

应该是:

.hasClass("header")

虽然,如果您对仅针对具有课程的项目运行代码感兴趣,请在.filter()之前执行.each()

items.filter('.header').each( function (key, value) {
    ... Do Something ...
});

如果您没有其他用途,那么您可以像这样修改选择器:

$('#list li.header').each( function (key, value) {
    ... Do Something ...
});

但是,除非您没有其他需要缓存所有<li>元素。

答案 1 :(得分:2)

你正在使用。在传递类名时在hasClass函数中。将其更改为:

var items = $("#list li");  
    $.each(items, function (key, value){  
        if ($(value).hasClass("header")){      
            alert('Hi');
            //Do Something
        } 
    });