DOM, help: Создание элементов динамически
Имеется обычная таблица <table>, с некоторым кол-вом строк <tr> и ячеек <td>. Подскажите: как с помощью document.createElement("td") добавить по одной ячейке <td> в каждую строку <tr>. То есть добавленная ячейка <td> будет последним дочерним элементов в каждой строке <tr>. Может как-то использовать document.getElementsByTagName('tr')?:help:
|
Да.
[].forEach.call(document.querySelectorAll('tr'), function(item) {
var td = document.createElement('td');
item.appendChild(td);
});
|
|
<!DOCTYPE HTML>
<html>
<head>
<title>Untitled</title>
<meta charset="utf-8">
</head>
<body>
<table width="400" summary="" >
<tbody>
<tr>
<td>Cell 1.1</td>
<td>Cell 1.2</td>
<td>Cell 1.3</td>
</tr>
<tr>
<td>Cell 2.1</td>
<td>Cell 2.2</td>
<td>Cell 2.3</td>
</tr>
</tbody>
</table>
<script>
[].forEach.call(document.querySelectorAll('tr'), function(item,i) {
var td = item.insertCell(item.cells.length);
td.innerHTML = i
});
</script>
</body>
</html>
|
Спасибо! Попробовал оба варианта - все работает. Только, подскажите, как вне тела функции вывести количество этих добавлений. То есть не количества всех добавленных <td>, а именно сколько раз они добавлялись в строки. Например вывести это число в console.log().
|
Цитата:
|
javaphp, ну, сколько элементов tr, столько и добавлений, т.е
document.querySelectorAll('tr').length;
если правильно понял :-? |
да именно так. уже понял. Еще раз спасибо. Очень помогли мне:)
|
| Часовой пояс GMT +3, время: 17:08. |