1

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

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

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

如果我只知道名称将是 DATA + something 但我不知道是什么。

如果find out / search / match元素有数据并且其名称以'DATA'.

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

非常感谢您的建议。

4

2 回答 2

2

.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')
于 2013-02-25T21:40:27.170 回答
0

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

检查可以通过写来完成

'propertyName' in object
于 2013-02-25T21:41:25.570 回答