如何检查附加到元素的自定义数据属性?
这是我的代码。
如何查看img
是否附加了任何数据*?
<img id="myImg" src="#" data-tablet="img/xl.jpg" data-desktop="img/xl.jpg">
感谢。
答案 0 :(得分:3)
你可以这样做
if($('img').is('[data-tablet]'))
或者,如果您只想查看是否有data-*
,您可以通过搜索您使用get
获得的元素的outerHTML或使用索引器。
if($('img')[0].outerHTML.indexOf("data-") > -1)
答案 1 :(得分:0)
我会在检查字符串“data - ”
时迭代属性var el = document.getElementById("myImg");
for (var i = 0; i < el.attributes.length; i++){
// string comparison on 'data' with : el.attributes[i]
}
答案 2 :(得分:0)
function checkCustomData(objectId){
var attributes = document.getElementById(objectId).attributes;
var customDataStatus = false;
for (var x=0; x<attributes.length ; x++ ) {
if (attributes[x].name.indexOf("data-") == 0) var customDataStatus = true;
}
return customDataStatus
}
console.log(checkCustomData("myImg"))
答案 3 :(得分:0)
尝试
$.fn._hasData = function() {
return [].some.call(this[0].attributes, function(v, k) {
return /^data-/.test(v["name"])
})
};
console.log($("img")._hasData())
$.fn._hasData = function() {
return [].some.call(this[0].attributes, function(v, k) {
return /^data-/.test(v["name"])
})
};
console.log($("img")._hasData())
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<img id="myImg" src="#" data-tablet="img/xl.jpg" data-desktop="img/xl.jpg">
答案 4 :(得分:0)
您可以使用Object.keys
Object.keys(document.getElementById('myImg').dataset).length