在javascript中返回数据属性

时间:2018-07-06 15:10:54

标签: javascript jquery

此代码返回html代码中的所有元素li。 例如:

<li data="2" class="produkt_w_koszyku"><b>Audi A6</b> <span class="cena_w_koszyku">199000 zł</span><span style="float: right; margin-right: 30px;" class="deleteitembasket"><i class="fas fa-times"></i></span></li><li data="3" class="produkt_w_koszyku"><b>BMW i8</b> <span class="cena_w_koszyku">122 zł</span><span style="float: right; margin-right: 30px;" class="deleteitembasket"><i class="fas fa-times"></i></span></li>

我希望他将datas属性的值返回给我。因此:2, 3。我该如何更改?

var $ul = $(this).parents('ul');
localStorage.setItem('item_id', $ul.html());

3 个答案:

答案 0 :(得分:1)

您要遍历f元素并提取数据属性的值。上面的注释提供了您所需的内容,但总结如下:

li

此外,最好遵循// you may need a more specific selector, but this works for your html snippet const dataAttrs = $("li").map(function(){ return $(this).attr('data'); }).get().join(','); // display your data console.log(dataAttrs); 属性的标准知识,而不是简单地使用data-*做诸如datadata-id之类的事情。参见https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes

答案 1 :(得分:0)

$("li.produkt_w_koszyku").map(function(){ return this.getAttribute('data'); }).get().join(',')

选择所有元素,将所需的部分映射到数组中,并以逗号将其连接。您可以使用getAttribute()来获取DOM元素的属性。

答案 2 :(得分:-1)

您需要在数据保存项之前添加数据-如下所示,例如数据-数据,数据类,数据-...

<article
  id="electriccars"
  data-columns="3"
  data-index-number="12314"
  data-parent="cars">
...
</article>

在JavaScript中读取这些属性的值也非常简单。您可以使用带有完整HTML名称的getAttribute()来读取它们,但是标准定义了一种更简单的方法:可以通过数据集属性读取DOMStringMap。

要通过数据集对象获取数据属性,请在data-之后通过属性名称的一部分获取属性(请注意,破折号已转换为camelCase)。

var article = document.getElementById('electriccars');

article.dataset.columns // "3"
article.dataset.indexNumber // "12314"
article.dataset.parent // "cars"