我想知道元素是否存储了特定数据。
例如,如果元素具有数据且名称为DATA + etc
。
$el.data('DATA' + 'etc', value);
如果我只知道名字将是DATA +的东西,但我不知道是什么东西。
如果元素的数据及其名称以find out / search / match
开头,我该怎样'DATA'
。
alert($el.data('DATA') ? 'Yes' : 'No')
非常感谢你的建议。
答案 0 :(得分:2)
.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')
答案 1 :(得分:0)
存储“DATA”键的对象。然后将etc属性添加到该对象上。
可以通过编写
来完成检查'propertyName' in object