我想知道元素是否存储了特定的数据。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