2010-12-20 80 views

回答

26

您可以使用.filter()選擇您想要的元素,像這樣的:因爲你正在檢查一個布爾這是很簡單,對一個值進行覈對

$("someSelector").filter(function() { return $.data(this, "foo"); }); 

在這種情況下,只需添加的比較,像這樣的:

$("someSelector").filter(function() { return $.data(this, "foo") == "value"; }); 
+1

有什麼用'$。數據(這一點,「富」)的優勢名爲"data-key"與價值true屬性的所有對象(這)。數據( '富')'? – 2010-12-20 17:16:35

+7

@Matt - 沒有浪費的jQuery對象:) – 2010-12-20 17:17:54

+0

這沒有工作形式。我不明白你爲什麼評估'$ .data(this,「foo」)==「value」;'對於我來說,它是通過用'.data(this)替換它.foo.id ==「idValue」; '。感謝您的提示,但!真的幫助我了! – Xeroxoid 2011-11-04 14:39:02

5

不可能只是不通過DOM中的每個元素循環和檢查,看看它是否包含與指定的值數據項data API。

如果數據很簡單,也許您可​​以使用也可通過選擇器搜索的HTML5數據屬性。

$("selector").attr("data-key", "theKey"); 

後來選擇`過`$有使用

$('[data-key="true"]') 
+0

非常感謝。我忘記了jquery並不總是將這些數據保存在元素中:) – mrzmyr 2011-09-06 16:59:47

相關問題