Наконец-то я отфильтровал и получил нужные строки в своей таблице и присвоил им значение, оно правильно выводится на консоль, но не отображается на самой веб-странице.
Я извлек свои строки в переменную строку и присвоил ей другую переменную
var rows = [...$(".table td")].map(e => $(e).text().trim()).filter(e => e);
console.info(rows);
for (i = 0; i < rows.length; i++) {
//I have assigned it in the line below
rows[i].text = dateArr[i];
console.info(rows[i]);
}
rows[i].text = dateArr[i];
? rows[i]
— строки. Чего вы пытаетесь достичь, добавляя к ним свойство text
?
rows[i].text = dateArr[i];
.. Независимо от того, что такое dateArr, это просто не сработает, так как это струны. Для того, чтобы изменить текст, вам нужно работать со ссылкой jQuery/javascript DOMElement.
Привет @briosheje, я новичок в javascript, но я думаю, что, поскольку я получил нужные строки, я могу просто назначить их. dateArr[i] — это массив дат начала и окончания.
@MrJ, я пытаюсь присвоить ячейкам в таблице значение dateArr[i].
Поскольку вы уже используете jQuery, не могли бы вы сделать еще один шаг и использовать подключаемый модуль Таблицы данных для удовлетворения ваших потребностей? Ваша первая (то есть ES6) строка кода совершенно не подходит к остальной части кода, и я думаю, что вы могли бы извлечь большую пользу из доступных инструментов, а не разрабатывать свои собственные.
@SneakyBastard Я крутой парень, мои навыки веб-разработчика немного шаткие, я многому научился только за эти выходные, но я бы хотел использовать таблицы данных, как было предложено.
Как говорится, вам не нужно изобретать свой собственный велосипед, вы можете пойти дальше с имеющимися велосипедами с гораздо меньшими усилиями.
как вы можете видеть в вашем console.info(rows); вы получаете только новый массив строк со всеми значениями TD, а не указатель на каждый TD с бесполезным сложным кодом
const newVals = [111,222,333];
document.querySelectorAll('#myTable td').forEach( (elmTD, idx)=>{
elmTD.textContent=newVals[idx].toString()
})
td { border:1px solid grey }
<table id = "myTable">
<tr>
<td> aaa </td>
<td> bbb </td>
<td> ccc </td>
</tr>
</table>
Все, что я могу сказать, это «забудьте о jQuery и используйте javascript ES6» только потому, что вы уже используете стрелочные функции.
а что такое dateArr[i] ???