我想知道元素是否存儲了特定的數據。js,查找/匹配/搜索元素是否按數據名稱存儲數據
例如,如果某個元素具有數據並且名稱爲DATA + etc
。
$el.data('DATA' + 'etc', value);
如果我只知道名稱將是數據+的東西,但我不知道什麼是東西。
我該如何find out/search/match
如果元素有數據,其名稱以'DATA'
開頭。
alert($el.data('DATA') ? 'Yes' : 'No')
非常感謝您的建議。
我想知道元素是否存儲了特定的數據。js,查找/匹配/搜索元素是否按數據名稱存儲數據
例如,如果某個元素具有數據並且名稱爲DATA + etc
。
$el.data('DATA' + 'etc', value);
如果我只知道名稱將是數據+的東西,但我不知道什麼是東西。
我該如何find out/search/match
如果元素有數據,其名稱以'DATA'
開頭。
alert($el.data('DATA') ? 'Yes' : 'No')
非常感謝您的建議。
.data()
with no arguments爲您提供附加數據的對象,因此您可以遍歷鍵以查看它們中的任何一個是否以'DATA'
開頭。
var hasMatchingData = false;
var allData = $el.data();
for (var key in allData) {
if (allData.hasOwnProperty(key) && key.match(/^DATA/g)) {
hasMatchingData = true;
break;
}
}
alert(hasMatchingData ? 'Yes' : 'No')
非常感謝你! – Till 2013-02-25 21:43:04
存儲'DATA'鍵的對象。然後將你的etc屬性添加到該對象上。
的檢查可以通過編寫
'propertyName' in object
名稱是'propertyName'+等,我想知道我怎麼能匹配是我不知道等等 – Till 2013-02-25 21:42:44
您可以使用選擇做HTTP:嗎?//www.w3schools.com/jquery/jquery_ref_selectors.asp – SriN 2013-02-25 21:40:32
@ user711819只有'數據 - *'屬性。雖然jQuery自動將這些變成了'.data()'可以訪問的值,但這對於其他這樣的'.data()''d值不起作用。 – 2013-02-25 21:43:53