【发布时间】:2013-09-27 21:54:59
【问题描述】:
如何使用 jQuery 根据自定义 data 属性中的内容过滤多个 div?问题是属性可以有超过 1 个值(被视为 1 个字符串)。所以我需要确定data-att 值是否包含字符串。
<a href="">small</a>
<a href="">medium</a>
<a href="">large</a>
<div class="size" data-size="small">small tee</div>
<div class="size" data-size="small medium">small tee</div>
<div class="size" data-size="small medium">small tee</div>
<div class="size" data-size="small">small tee</div>
<div class="size" data-size="medium large">small tee</div>
<div class="size" data-size="medium large">small tee</div>
所以如果点击小链接,它应该只显示 data-size 值包含 small 的 div,即“small”和“small medium”。
我试过了:
$("a").click(function(e) {
var selectSize = $(this).text();
filter(selectSize)
e.preventDefault();
});
function filter(e){
$('.tyre').hide()
.filter('[data-sizes=""]:contains(' + e + ')')
.show(); // show the filtered elements
}
但是不行。
【问题讨论】: