2016-11-10 62 views
0

下面是我的jQuery代碼,我想知道li其中有data-target="5"。 但是我的循環沒有輸入,如果條件,即使有lidata-target="5"在jQuery中如何獲得具有定義的屬性(屬性)值的匹配元素

var target = 5; 
$("ul.menu-content li.collapsed").each(function() { 
    if ($(this).is('[data-target]') == target) { 
    $(this).removeClass('collapsed').find('a').addClass('active'); 
    } 
}); 
+0

我得到的原因的代碼可以提高爲什麼它不匹配,它總是首先顯示李與[數據目標。循環不工作.. –

回答

3

你需要使用.data(key)得到data-target,並比較其價值。

if($(this).data('target') == target) 

或者,你可以直接使用Attribute value selector

$("ul.menu-content li.collapsed[data-target=" + target+"]") 
    .removeClass('collapsed') 
    .find('a') 
    .addClass('active'); 
+0

謝謝@Satpal,甚至不需要循環.. –

相關問題