Jquery attr()多个值

时间:2015-03-19 11:16:54

标签: jquery attr

我使用复选框隐藏/显示列表中的项目。 每个项目都有一个包含一个或多个关键字的数据标记元素。 实施例

<li class="element" data-tag="business economic">

我的JQuery目前看起来像这样

$('.element').each(function(){
      var item = $(this).attr('data-tag');
      if(jQuery.inArray(itemarray,topic_list) > -1) 
        $(this).fadeIn('slow');
      else
        $(this).hide();

    });

如果data-tag中有单个元素,则此方法有效,但如果有多个元素,则不显示LI元素。我哪里错了?

2 个答案:

答案 0 :(得分:0)

$('.element').each(function(){
  var tags = $(this).data('tag');
  if(tags.contains(topic_list)) 
    $(this).fadeIn('slow');
  else
    $(this).hide();

});

答案 1 :(得分:0)

如果topic_list是您在data-tag属性中搜索的字符串:

jQuery('li[data-tag]').hide();  
jQuery('li[data-tag~="' + topic_list + '"]').fadeIn('slow');

修改

如果topic_list是一个标记数组:

jQuery('li[data-tag]').hide();
for(var i = 0, l = topic_list.length; i < l; i++) {
  var tag = topic_list[i];
  jQuery('li[data-tag~="' + tag + '"]').fadeIn('slow');
}