我想要一个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"]');
答案 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"));
});