就像这样:
// with jquery i have tried
$('body').data('self'); // undefined
$('body').data('date-self'); //undefined
// but i can use this method to get the defined element
$('button').data('self'); // self
// with javascript
document.querySelector('button').dataset.self // self
<html>
<head>
</head>
<body>
<div data-self="self">self</div>
<span data-self="self">span self</div>
<ul>
<li data-self="self">li1 self</li>
<li data-self="self">li2 self</li>
</ul>
<button data-self="self">button self</button>
</body>
</html>
但我找不到用'data-self'获取所有元素的方法。
如果有人知道,请告诉我,任何帮助将不胜感激。
答案 0 :(得分:0)
你只需要迭代它们。
var $elems = $('[data-self]');
var selfs = [];
$elems.each(function ($elem) {
selfs.push($elem.data('self'));
});
答案 1 :(得分:0)
首先,您的HTML无效。 date-self
应该是data-self
,是吗?
其次,使用data-*
方法获取.data()
属性中的值:
var dataSelf = $(".elem").data("self");
您也可以直接从属性中获取它,如下所示:
var dataSelf = $(".elem").attr("data-self");
选择具有data-self
属性的元素,如下所示:
var elementsWithDataSelf = $("[data-self]");
答案 2 :(得分:0)
您可以获得“数据自我”的所有元素。使用此查询设置属性:
var elementList=document.querySelectorAll('[data-self]');
如果您需要选择“数据自我”的所有元素。属性等于某事,那么你可以使用下一行:
var elementList=document.querySelectorAll('[data-self="something"]');