如何使用jquery获取没有特定css类的锚标签?

时间:2013-12-26 12:38:32

标签: jquery dom filter

我正在阅读Jquery厨师书。我已经学习了如何使用指定的类过滤DOM元素。现在我想做与之相反的意思是现在我想获得没有指定类的元素。

我的HTML代码是:

<li>
    <a href="#" class="external">link</a> 
    <a href="#" class="external">link</a> 
    <a href="#"></a>
    <a href="#" class="external">link</a> 
    <a href="#" class="external">link</a>
</li>
    <a href="#"></a>
    <a href="#">link</a> 
    <a href="#">link</a> 
    <a href="#">link</a> 
    <a href="#">link</a></li>

Jquery代码是:

jQuery(function () {
jQuery('a').filter('.external').text('hello testing');
});

使用上面的代码,我可以使用&#34; 外部&#34;获取所有锚标记。类。现在我想得到外部类的所有锚标签。请帮帮我怎么办..

3 个答案:

答案 0 :(得分:3)

您可以使用.not() method代替.filter()

jQuery('a').not('.external').text('hello testing');

或者您可以使用:not() selector

jQuery('a:not(.external)').text('hello');

请注意,您可以在不使用.filter()的情况下获得与原始.filter()代码相同的结果:

jQuery('a.external').text('hello testing');

答案 1 :(得分:0)

你也可以这样做

$(function(){
    jQuery('.external').text('hello testing');
    jQuery('a').not('.external').text('hello not testing');
});

答案 2 :(得分:0)

您可以菊花链式not方法来实现:

$('a').text('hello').not('.external').text('goodbye');

这会将所有a标记的innerText设置为hello,然后选择所有非.external标记并将其设置为“再见”。