1

客观的:

查找所有具有 data-attribute parent-cat-number == my_cat_number 的元素

正如您从标记中看到的那样,我从属性“data-cat-number”中获得了父类别整数,但我未能找到所有将其作为父类别编号的孩子。

这是一个看起来如何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>
4

4 回答 4

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();
  });
});
于 2013-05-30T16:28:36.307 回答
0

怎么样:

$(this).children().find("[parent-cat-number] = '" + my_cat_number + "'").show();
于 2013-05-30T16:12:16.897 回答
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();
});

小提琴

于 2013-05-30T16:14:33.100 回答
0

你可以这样做:

$('.parent-category a').click(function() {
    $(this).parent()
        .find('[parent-cat-number="'+$(this).parent().data('cat-number')+'"]')
        .show();
    return false;
});

工作演示

于 2013-05-30T16:15:02.797 回答