js,根据数据名称查找/匹配/搜索元素存储的数据

js, find / match/ search if element stored data by data name

本文关键字:数据 匹配 搜索 元素 存储 js 查找      更新时间:2023-09-26

我想知道元素是否存储了特定的数据。

例如,如果一个元素有一个名为DATA + etc的数据和名称。

$el.data('DATA' + 'etc', value);

如果我只知道名字会是DATA+something,但我不知道什么是something。

如果元素有数据,并且其名称以'DATA'开头,我怎么能find out / search / match呢。

alert($el.data('DATA') ? 'Yes' : 'No')

非常感谢你的建议。

不带参数的.data()为您获取附加数据的对象,因此您可以迭代键,查看是否有任何键以'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')

为"DATA"键存储一个对象。然后将您的etc属性添加到该对象上。

可以通过写入进行检查

'propertyName' in object