我有一组div,例如:
<div class="wrapper">
<div class="uct_attr" data-tags="one two three four">stuff</div>
<div class="uct_attr" data-tags="three four">stuff</div>
<div class="uct_attr" data-tags="one three five">stuff</div>
<div class="uct_attr" data-tags="one two six">stuff</div>
<div class="uct_attr" data-tags="four five six">stuff</div>
</div?
如何对与我的查询匹配的内容执行操作,对另外哪些内容执行操作?请记住,我希望匹配属性data-tags
中的一个单词例如:
// if match 'one'
$('.wrapper .uct_attr[data-tags="one"]').doMatch();
// the rest that didn't match 'one'
$('.wrapper .uct_attr[data-tags!="one"]').doNotMatch();
问题我认为该属性中有多个标记。
对此的任何帮助都会很棒。
C
答案 0 :(得分:1)
足够简单:使用member-of-a-whitespace-delimited-list选择器。
var $els = $(".wrapper .uct_attr");
$els.filter("[data-tags~='one']").doMatch();
$els.not("[data-tags~='one']").doNotMatch();
答案 1 :(得分:0)
不是选择器
$('.wrapper').find('div').not('.uct_attr[data-tags="one"]').doNotMatch();
答案 2 :(得分:0)
要匹配属性中的单词,请使用此处定义的〜=运算符:http://api.jquery.com/attribute-contains-word-selector/
// if match 'one'
$('.wrapper .uct_attr[datatags~="one"]').doMatch();
// the rest that didn't match 'one'
$('.wrapper .uct_attr').not('[datatags~="one"]').doNotMatch();