此代码返回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());
答案 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-*
做诸如data
,data-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"