2013-05-30 47 views
1

目的:查找與數據ATTR所有元素使用jQuery

查找與數據屬性家長貓號碼的所有元素== 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> 

回答

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(); 
    }); 
}); 
0

如何:

$(this).children().find("[parent-cat-number] = '" + my_cat_number + "'").show(); 
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(); 
}); 

FIDDLE

0

你可以做到這一點是:

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

Working Demo