我有两个div元素如下:
<div class="sc-info" tags="abc mno">
....
</div>
<div class="sc-info" tags="abc xyz">
....
</div>
我想基于标签中存在的值执行hide()和show()。如下所示
$('div.sc-info[tags with "abc"]').hide() // This should hide both divs
$('div.sc-info[tags with "xyz"]').show() //This should show only second one
答案 0 :(得分:7)
使用属性包含Word选择器(~=
)选择器
http://api.jquery.com/attribute-contains-word-selector/
$('div.sc-info[tags~="abc"]').hide()
$('div.sc-info[tags~="xyz"]').show()
对评论的回应:
当我检查多个单词时没有工作(即str =“纽约”); [str~ =“abc New York”]没有给出正确的结果。还有其他办法吗?
要在这些属性中选择多个字词,您必须在div.sc.info
上为两个可能的属性选择器进行过滤。
$('div.sc-info').filter('[tags~="abc"],[tags~="New York"]').hide()