属性上的JQuery show()和hide()具有值

时间:2012-08-29 13:08:01

标签: javascript jquery

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

1 个答案:

答案 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()

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