Добавить в таблицу с Javascript - PullRequest
1 голос
/ 19 марта 2010

У меня есть таблица, которая выглядит следующим образом:

<table id='t'>
    <thead>
        ....
    </thead>
    <tbody id='t_tbody'>
    </tbody>
</table>
  • thead заполнен содержанием

  • тело пусто

Я хочу использовать Javascript, чтобы добавить это (например) в t_tbody:

<tr>
    <td>Name</td>
    <td>Points</td>
    <td>Information</td>
</tr>

Как я могу это сделать?Мне нужна функция, которая добавляет вышеупомянутое к t_tbody.

Обратите внимание, что простое использование

document.getElementById('t_tbody').innerHtml+="<tr>...</tr>"

прекрасно работает в Firefox, но не в IE.

Также обратите внимание, что яМне нужно использовать необработанный Javascript (т.е. без фреймворков) для этого проекта, так как я заканчиваю проект, который в основном уже завершен с использованием необработанного Javascript.

Ответы [ 2 ]

4 голосов
/ 19 марта 2010
var tr = document.createElement("tr");

var td = document.createElement("td");
td.innerHTML = "Name";
tr.appendChild(td);

var td2 = document.createElement("td");
td2.innerHTML = "Points";
tr.appendChild(td2);

var td3 = document.createElement("td");
td3.innerHTML = "Information";
tr.appendChild(td3);

document.getElementById('t_tbody').appendChild(tr);
2 голосов
/ 19 марта 2010

Ответ Грегуара - действительно самый «правильный» способ сделать это, однако учтите, что IE, похоже, не жалуется, если вы редактируете innerHTML элементов, которых еще нет в DOM. Таким образом, решение может быть сокращено до:

var tr = document.createElement('tr');

tr.innerHTML = "<td>Name</td><td>Points</td><td>Information</td>";

document.getElementById('t_tbody').appendChild(tr);    
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...