Этот код возвращает все элементы li в html-коде.
Например:
<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>
Я бы хотел, чтобы он вернул мне значение атрибута данных. итак: 2, 3. Как я могу это изменить?
var $ul = $(this).parents('ul');
localStorage.setItem('item_id', $ul.html());
просто старый добрый data может быть зарезервированным словом. Измените его на data-test и используйте метод jquery .data()
Хорошо, но если таких элементов несколько, то я бы хотел, чтобы данные attr были записаны после десятичной точки. например: 1,2
@ J.Ga Вы должны отредактировать свой вопрос, чтобы дать четкий пример того, что вы хотите.
Я отредактировал свой пост.
$("li.produkt_w_koszyku").map(function(){ return this.getAttribute('data'); }).get().join(',')Спасибо. ^ это работает



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Вам необходимо добавить элементы хранения данных с данными, например data-data, data-class, data -..., как показано ниже.
<article
id = "electriccars"
data-columns = "3"
data-index-number = "12314"
data-parent = "cars">
...
</article>
Считать значения этих атрибутов в JavaScript также очень просто. Вы можете использовать getAttribute () с их полным HTML-именем для их чтения, но стандарт определяет более простой способ: DOMStringMap, который вы можете считывать через свойство набора данных.
Чтобы получить атрибут данных через объект набора данных, получите свойство по части имени атрибута после data- (обратите внимание, что тире преобразуются в camelCase).
var article = document.getElementById('electriccars');
article.dataset.columns // "3"
article.dataset.indexNumber // "12314"
article.dataset.parent // "cars"
$("li.produkt_w_koszyku").map(function(){ return this.getAttribute('data'); }).get().join(',')
Выделите все элементы, сопоставьте части, которые вы хотите, в массиве и соедините их через запятую. Вы можете использовать getAttribute(), чтобы получить атрибут из элемента DOM.
Вы хотите перебрать элементы 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.info(dataAttrs);
Кроме того, лучше следовать общепринятому мнению об атрибутах data-*, а не использовать просто data для выполнения чего-то вроде data-id, data-data или чего-то еще. См. https://developer.mozilla.org/en-US/docs/Learn/HTML/Howto/Use_data_attributes.
$(this).attr('data')?