我有一個相當數量的複選框的應用程序。它們中的每一個都具有指示它們屬於哪個組的jQuery數據參數,例如, <input type="checkbox" class="show" data-group="zones" />
jQuery選擇器可以根據數據查找元素嗎?
在某些情況下,我想根據它們包含的數據選擇這些複選框的子集。 jQuery選擇器可以拉這個嗎?如果沒有,有沒有其他方法可以做到手動過濾?
我有一個相當數量的複選框的應用程序。它們中的每一個都具有指示它們屬於哪個組的jQuery數據參數,例如, <input type="checkbox" class="show" data-group="zones" />
jQuery選擇器可以根據數據查找元素嗎?
在某些情況下,我想根據它們包含的數據選擇這些複選框的子集。 jQuery選擇器可以拉這個嗎?如果沒有,有沒有其他方法可以做到手動過濾?
當然,一個方法就是
$("input[data-group='zones']");
更新:
更改數據的價值也可以像這樣
$("input[data-group='zones']").each(function() {
$(this).data('group', 'newzone');
});
看看http://api.jquery.com/category/selectors/,也可能幫助他! – 2012-04-23 07:05:24
的確,我想到了這一點,但是按HTML元素的data- *屬性過濾,而不是在Javascript中元素的實際數據。例如,如果我要通過Javascript在元素上設置一些數據並嘗試使用這種方法,那麼就會失敗。 @AllanKimmerJensen我已閱讀文檔:-) – Hubro 2012-04-23 07:05:38
@Codemonkey,如果您想更改數據,IT也不會失敗。等待我的更新 – Starx 2012-04-23 07:08:26
做研究了一下後,有也是另一種方法,使用過濾器()
var inputs = $('input').filter(function() {
return $(this).data("groups") == true
});
下一頁操縱整個
inputs.each(function() {
$(this).data('groups', 'new zone');
});
或者修改單個元素
inputs[0].data('groups', 'new zone');
+1,讓我們看看,如果我們得到更多的答案,這個 – Starx 2012-04-23 07:18:33
你能表現出什麼樣的建議選擇應該看起來像? – Starx 2012-04-23 07:25:04
我在想'$(「input:data('group'='zones')」);',或者甚至是$(「input」)。dataEquals('group','zones');'' – Hubro 2012-04-23 07:28:09