我有很多数据自我元素,但我怎样才能获得所有这些元素?

时间:2016-03-25 03:28:56

标签: javascript html5

就像这样:

// 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'获取所有元素的方法。

如果有人知道,请告诉我,任何帮助将不胜感激。

3 个答案:

答案 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"]');