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

时间:2013-02-25 21:38:34

标签: javascript jquery search match

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

例如,如果元素具有数据且名称为DATA + etc

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

如果我只知道名字将是DATA +的东西,但我不知道是什么东西。

如果元素的数据及其名称以find out / search / match开头,我该怎样'DATA'

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

非常感谢你的建议。

2 个答案:

答案 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