$('table.carttable tbody tr').each(function(){
td_count = $(this).find('td.carttable-id').attr("valko") + ',';
});
console.log(td_count);
Выводит только последнее значение, хотя их намного больше. Внутри конструкции поочередно данные выводит. Подскажите, пожалуйста, в чем прицина?
Потому что вы так написали. Переменная td_count хранит только одно значение. Вангую, что вы хотели что то такое, но пропустили +:
$('table.carttable tbody tr').each(function(){
td_count += $(this).find('td.carttable-id').attr("valko") + ',';
});
console.log(td_count);
Удобнее сделать это так -
let td_count = '';
Array.from(document.querySelectorAll('table.carttable tbody tr'))
.forEach(el => {
td_count += el.querySelector('td.carttable-id').getAttribute("valko") + ',';
});
console.log(td_count);
// Или
const td_count_array = Array.from(document.querySelectorAll('table.carttable tbody tr'))
.map(el =>
el.querySelector('td.carttable-id').getAttribute("valko")
);
console.log(td_count_array.join(','));
<table class='carttable'>
<tr>
<td class = 'carttable-id' valko='1'></td>
</tr>
<tr>
<td class = 'carttable-id' valko='2'></td>
</tr>
<tr>
<td class = 'carttable-id' valko='3'></td>
</tr>
</table>
Продвижение своими сайтами как стратегия роста и независимости