0

假设有一组项目,其中包含一些数据,如下所示:

<li data-filtro="website, web app"><a href="trabajos.php?id=84"><img src="imgs/thumbs/item_tn_84.jpg" /></a></li>
<li data-filtro="website, banners"><a href="trabajos.php?id=131"><img src="imgs/thumbs/item_tn_131.jpg" /></a></li>
<li data-filtro="publicidad"><a href="trabajos.php?id=22"><img src="imgs/thumbs/item_tn_22.jpg" /></a></li>
<li data-filtro="publicidad"><a href="trabajos.php?id=45"><img src="imgs/thumbs/item_tn_54.jpg" /></a></li>

并通过与名为“valor”的变量的值匹配的数据内容过滤一些,我想做类似的事情

var $set = $('li').filter(function(index){
    return $(this).data('filtro').indexOf(valor) > -1;
});

但不知何故我无法让它工作......你们有两分钟的时间让我睁开眼睛吗?先感谢您!

4

2 回答 2

1

我知道这是一个不同的解决方案,也许这不是你想要的,但你可以使用一个选择器:

$('li[data-filtro*="' + valor + '"]') //this should return all the elements you want.
于 2012-05-03T18:53:19.303 回答
1

试试这个

$('li').each(function(){

        return $(this).data('filtro').indexOf(valor) > -1;
});
于 2012-05-03T19:02:11.970 回答