2013-07-16 88 views
0

如何將數據存儲到元素,然後處理該數據是否有數據?jquery.data:如何將數據存儲到元素並訪問它?

例如我有這兩個具有相同類名的元素。

<div class="elem"></div> 
<div class="elem"></div> 

jQuery的,

$(".elem:first").data("hasdata","popup"); 

if($(".elem").data("hasdata") === 'popup') $(".elem").css({background:'red'}) 

我得到兩個紅色,但我只是想第一個變紅。可能嗎?

我對jsfiddle

+0

'$(「ELEM」)'將選擇一類'elem'的所有​​元素,它不會進行過濾,僅除非你告訴它能夠提供數據的一個。 –

回答

2

您可以使用each用類遍歷所有元素elem

$(".elem:first").data("hasdata","popup"); 
$(".elem").each(function(){ 
    if ($(this).data("hasdata") === 'popup'){ 
    $(this).css({background:'red'}); 
    } 
}); 

檢查這個jsFiddle

2

測試您可以使用過濾器(),並把條件吧。

Live Demo

$(".elem:first").data("hasdata","popup"); 
$(".elem").filter(function(){ 
    return $(this).data("hasdata"); 
}).css({background:'red'}); 
2

試試這個:

$(".elem:first").attr("data-hasdata","popup"); 

$(".elem[data-hasdata='popup']").css({background:'red'}); 

JSfiddle Demo

相關問題