目的:
使用数据属性 parent-cat-number == my_cat_number 查找所有元素。
正如您从标记中看到的,我从属性“data-cat-number”中获取了父类别整数,但是我找不到所有具有父级cat编号的子项。
以下是http://jsfiddle.net/jahrichie/jGpcx/的外观示例,但是现在点击父级会显示所有孩子。我想让它适应只展示那个元素的孩子。
JS http://jsfiddle.net/jahrichie/jGpcx/
$('.parent-category').click(function () {
var my_cat_number = $(this).attr('data-cat-number');
$(this).children().find("[parent-cat-number] = my_cat_number").show();
})
HTML
<div class="category-faceted">
<div class="parent-category" data-cat-number="1">
<a href="javascript:void(0)">Celebrity</a>
<div class="child-category" parent-cat-number="1">
<a href="javascript:void(0)">Sub-Celebrity</a>
</div>
</div>
<div class="parent-category" data-cat-number="2">
<a href="javascript:void(0)">Entertainment</a>
<div class="child-category" parent-cat-number="2">
<a href="javascript:void(0)">Sub-Ent</a>
</div>
</div>
</div>
答案 0 :(得分:1)
您可以使用此DEMO FIDDLE
$('.parent-category').on('click', function () {
var my_cat_number = $(this).data('cat-number');
$(this).find('*').each(function() {
if($(this).attr('parent-cat-number') == my_cat_number)
$(this).show();
});
});
答案 1 :(得分:0)
怎么样:
$(this).children().find("[parent-cat-number] = '" + my_cat_number + "'").show();
答案 2 :(得分:0)
$('.parent-category').on('click', function () {
var my_cat_number = $(this).data('cat-number');
$('*', this).filter(function() {
return $(this).attr('parent-cat-number') == my_cat_number;
}).show();
});
答案 3 :(得分:0)
你可以这样做:
$('.parent-category a').click(function() {
$(this).parent()
.find('[parent-cat-number="'+$(this).parent().data('cat-number')+'"]')
.show();
return false;
});
<强> Working Demo 强>