Jquery attr() 多个值
Jquery attr() multiple values
我正在对列表中的 Hide/Show 项使用复选框。
每个项目都有一个包含一个或多个关键字的数据标签元素。
例子
<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 元素。我哪里错了?
尝试
$('.element').each(function(){
var tags = $(this).data('tag');
if(tags.contains(topic_list))
$(this).fadeIn('slow');
else
$(this).hide();
});
如果 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');
}
我正在对列表中的 Hide/Show 项使用复选框。 每个项目都有一个包含一个或多个关键字的数据标签元素。 例子
<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 元素。我哪里错了?
尝试
$('.element').each(function(){
var tags = $(this).data('tag');
if(tags.contains(topic_list))
$(this).fadeIn('slow');
else
$(this).hide();
});
如果 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');
}