<div class = "tabs__content tabs__content--bg js-tab-panel">
<div class = "tabs__panel tabs__panel--active">
<div class = "product__sizes-wrapper">
<ul class = "product__sizes-select js-size-select-list" data-locale = "UK">
<li class = "product__sizes-option" data-msg = "Sample Message" data-name = "6" data-value = "060">
<span class = "product__sizes-size">
<span class = "product__sizes-size-1">6</span>
<span class = "product__sizes-size-2"></span>
</span>
</li>
<li class = "product__sizes-option" data-msg = "Sample Message" data-name = "7" data-value = "070">
<span class = "product__sizes-size">
<span class = "product__sizes-size-1">7</span>
<span class = "product__sizes-size-2"></span>
</span>
</li>
<li class = "product__sizes-option" data-msg = "Sample Message" data-name = "8" data-value = "080">
<span class = "product__sizes-size">
<span class = "product__sizes-size-1">8</span>
<span class = "product__sizes-size-2"></span>
</span>
</li>
<li class = "product__sizes-option" data-msg = "Sample Message" data-name = "9.5" data-value = "095">
<span class = "product__sizes-size">
<span class = "product__sizes-size-1">9.5</span>
<span class = "product__sizes-size-2"></span>
</span>
</li>
</ul>
</div>
</div>
Я хочу извлечь значения из классов product__sizes-size-1 и преобразовать их в массив. Я попытался использовать функцию .map(), чтобы попытаться заполнить массив, но он кажется пустым. Чтобы было ясно, я хочу, чтобы массив был заполнен как [6,7,8,9.5] и т. д.
const sizes = $(".product__sizes-wrapper [data-locale = 'UK']").map(function() {
return $(this).text();
}).get();
Показано, что я пытался
Ошибаетесь, элемент с локалью данных — это ul, который только один. Что именно вы пытаетесь составить список?
Значения данных из класса product__sizes-size-1 (9.5,8,7) и т. д.
Я отредактировал свой пост OG для ясности @Taplar
Так что измените свой селектор, чтобы найти этих парней. Вы не можете остановить свой селектор на родительском элементе, если хотите отобразить список дочерних элементов. Найдите детей и нанесите на них карту. $(".product__sizes-wrapper [data-locale = 'UK'] .product__sizes-size-1").map(...)
Давайте продолжим обсуждение в чате.



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


Чтобы выбрать его
$('#product__sizes-select li.product__sizes-size-1');
В массиве
var product_sizes = [];
$('ul').each(function() {
var localproduct_sizes = [];
$(this).find('li').each(function(){
localproduct_sizes.push( $(this).attr('product__sizes-size-1') );
});
product_sizes.push(localproduct_sizes);
});
Я получаю undefined для каждого значения в массиве
Ваш подход правильный, вы просто используете неправильный селектор. Вместо этого используйте product__sizes-size-1:
$(document).ready(function(){
var sizes = $('.product__sizes-size-1').map(function(){return $(this).text()}).get();
});
Покажи нам, что ты пробовал. Имея в виду, что у вас нет ценностей. У вас есть атрибуты данных, один из которых имеет ключ значения. Это не одно и то же.