选择没有任何包含字符串的类的元素

时间:2013-08-05 13:11:42

标签: javascript jquery selector

我想要一个jQuery选择器,它选择没有包含字符串'-text'的类的任何元素;

例如以下内容:

<img class="cow" > 
<img class="monkey" > 
<img class="cow-text" > 
<img class="monkey-text" > 

我想选择:

<img class="cow" > 
<img class="monkey" >

我知道我需要使用not,但我不确定格式。以下结果未选择任何项目:

$('.panel').find('.layer').not('[class*="-text"]');

3 个答案:

答案 0 :(得分:2)

如果课程始终以“ -text”结尾,则应使用EndsWith选择器,例如

panel.find('img').not('[class$="-text"]');

或者

panel.find('img:not([class$="-text"])')

这是一个更精确的解决方案,通配符选择器意味着错误地选择some-text-class-text-class等类。

答案 1 :(得分:1)

尝试

panel.find('img').not('[class*="-text"]');

答案 2 :(得分:0)

尝试查找所有img元素并删除所有内容,以-text结束。并将每个元素用于多个元素。 例如类= “猴子文本”

$("img").not("[class$='-text']").each(function(){
  alert($(this).attr("class"));
});

第二个预览显示字符串开头的字符串text-。只需将$替换为^ 例如类= “文本猴子”

$("img").not("[class^='text-']").each(function(){
  alert($(this).attr("class"));
});