1

我有两个 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
4

1 回答 1

7

使用属性包含字选择器( ~=) 选择器

http://api.jquery.com/attribute-contains-word-selector/

$('div.sc-info[tags~="abc"]').hide()

$('div.sc-info[tags~="xyz"]').show()

回复评论:

当我检查多个单词时不起作用(即) str = "New York"; [str ~="abc New York"] 没有给出正确的结果。还有其他方法吗?

要在这些属性中选择多个单词,您必须过滤div.sc.info两个可能的属性选择器。

$('div.sc-info').filter('[tags~="abc"],[tags~="New York"]').hide()

示例:http: //jsfiddle.net/hunter/AS6Zp/

于 2012-08-29T13:09:32.510 回答