gpt4 book ai didi

Javascript:DOM、appendChild - 几个问题

转载 作者:行者123 更新时间:2023-12-02 20:11:41 27 4
gpt4 key购买 nike

我刚刚学习这些东西,所以如果我的代码或问题非常基本,请原谅。

我的“工作代码”(没有错误等)只是为了让你知道我到目前为止有什么:

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) 为什么会这样以及如何解决它?

谢谢!

最佳答案

您的 for 循环每次迭代都会针对同一实例执行。除非执行以下操作,否则您将不会获得多行数据:

document.createElement("TR");
document.createElement("TD");

在循环体内。否则,您是完全正确的,您只是在循环的每次迭代中将相同的文本附加到相同的行和表格单元格。

听起来您需要改变方法,例如:

var table = document.createElement("TABLE");
for(var i = 0; i < nodes.length; i++){
var tr = document.createElement("TR");
var td = document.createElement("TD");
tr.appendChild(td);
table.appendChild(tr);

// do something to to td
}

如果我误解了您的问题,请告诉我,但如果您想知道为什么您的表只构建一行或重复修改同一单元格,这绝对是原因......如果您的问题还有更多内容,请告诉我我会更新帖子。

祝你编码愉快。

B

关于Javascript:DOM、appendChild - 几个问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6884158/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com