Я только изучаю этот материал, поэтому, пожалуйста, прости, если мой код или вопросы очень просты.
Мой "рабочий код" (без ошибок и т. Д.), Просто чтобы вы знали, что у меня есть:
var t = document.createElement("table"),
tr = document.createElement("tr"),
tr2 = document.createElement("tr"),
td = document.createElement("td"),
td2 = document.createElement("td"),
a = document.createElement("a"),
strong = document.createElement("strong");
t.style.width = "80%";
t.style.border = "0";
t.cellspacing = "2";
t.cellpadding = "2";
.
for (var i = 0; i < nodes.length; i++) {
the_table_color = nodes[i].getAttribute("table_color");
the_type = nodes[i].getAttribute("type");
alt_link = nodes[i].getAttribute("alt_link");
link_for_deletion = nodes[i].getAttribute("link_for_deletion");
comment = nodes[i].getAttribute("comment");
tr.bgColor = the_table_color;
t.appendChild(tr);
td.width = "16%";
td.vAlign = "top";
tr.appendChild(td);
strong.appendChild(document.createTextNode(the_type));
td.appendChild(strong);
td.width = "16%";
td.vAlign = "top";
tr.appendChild(td);
td2.width = "70%";
td2.vAlign = "top";
tr.appendChild(td2);
a.href = alt_link;
a.appendChild(document.createTextNode(alt_link));
a.target = "_blank";
td2.appendChild(a);
}
Как вы можете видеть выше, у меня есть этот бит:
td = document.createElement("td"),
td2 = document.createElement("td"),
, и причина этого в том, что если у меня нет "снова объявлено, первый перезаписывается, а второй не отображается ...
А) Это правильный способ сделать это?(не уверен, что это правильный подход, я пришел к решению объявить другую переменную, чтобы заставить ее работать, но это похоже на дополнительный код)
Тогда эта строка кода:
strong.appendChild(document.createTextNode(the_type));
просто добавляет туда весь материал из цикла: (
Например, первая итерация цикла for () имеет abc
, а вторая имеет def
, она отображает abcdef вместо abc в первый рази def второй.
B) Почему это так и как мне это исправить?
Спасибо!