我只是在学习这些东西,所以如果我的代码或问题非常基本,请原谅。
我的“工作代码”(没有错误等)只是让你知道我到目前为止:
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"),
原因是,如果我没有再次声明“td”,第一个会被覆盖,第二个不会显示......
A)这是正确的方法吗?(不确定这是否是正确的方法,我提出了声明另一个变量以使其工作的解决方案,但这似乎是额外的代码)
然后这行代码:
strong.appendChild(document.createTextNode(the_type));
只需将循环中的所有内容添加到那里:(
例如,for() 循环的第一次迭代有abc
,第二次def
它第一次显示 abcdef 而不是 abc,第二次显示 def。B
) 为什么会这样以及如何我要修复它吗?
谢谢!