我有代码
<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'
借口,我的英语很糟糕
答案 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
}
});