这是我的一组链接:
<ul id="power">
<li><a id="10watt" name="power" href="#">10 watt</a></li>
<li><a id="25watt" name="power" href="#">25 watt</a>
<li><a id="30watt" name="power" href="#">30 watt</a>
<li><a id="40watt" name="power" href="#">40 watt</a>
<li><a id="50watt" name="power" href="#">50 watt</a>
<li><a id="60watt" name="power" href="#">60 watt</a>
<li><a id="75watt" name="power" href="#">75 watt</a>
<li><a id="100watt" name="power" href="#">100 watt</a>
<li><a id="120watt" name="power" href="#">120 watt</a>
<li><a id="150watt" name="power" href="#">150 watt</a>
</ul>
然后我有一个数组:
var nine = ['25watt','30watt','40watt','50watt','60watt','75watt'];
我想过滤链接,以便不在数组中使用我在CSS中定义的“不可用”类进行样式设置。这是我的jQuery。
if (this.id == '93') {
$('a [name="power"]').filter(function() {
if ($.inArray($(this).attr('id'), nine) < 0)
$(this).addClass('unavailable');
$(this).removeAttr('href');
});
}
this.id来自上一组链接,如何编写我的过滤器语句,因为我所拥有的不起作用。谢谢你的帮助。
答案 0 :(得分:1)
这应该有效:
$('a[name="power"]').filter(function() {
return $.inArray($(this).attr('id'), nine) == -1;
}).addClass('unavailable').removeAttr('href');
您的选择器在a
和[name="power"]
之间有一个空格,这意味着您选择的所有[name="power"]
都是a
的后代,而不是a
本身。除此之外,我更正了过滤功能,仅进行过滤。