好吧,在这里我继续,尝试学习这个非常好的语言...所以我以前有一个非常难看的代码,充满了'document.write()'和更丑陋的东西,现在我正在把它变成一个非常符合标准的好代码,我很喜欢!但我发现一个问题,我没有看到逻辑。在这里:
在html文件中我有这个:
<body onload="generatetable(0)">
在.js文件中我有这个:
function generatetable(product) {
var tbinfo = document.createElement("table"); //table
var tbbody = document.createElement("tbody"); //tbody
var row = document.createElement("tr"); // creates row
for (var i = 0; i < 4; i++) { // creates 4 cells
var cell = document.createElement("td");
}
var tname = arraypro[product].Name;
cell.appendChild(tname);
(我不粘贴表的其余部分,因为它似乎工作正常)
运行时,我在var tname = arraypro[product].Name
行
但如果我只做一个
alert(arraypro[0].Name);
它输出的确是输出的,非常正确的单词。如果[{1}}可以检索arraypro[product].Name
中的值(如果您传递'product'的值)而不是alert
,那么{/ 1}}是如何检索的?
我仍然不太熟悉编程逻辑,但我尝试......
PD:信息所在的appendChild
已被声明为全局值,可以访问所有内容,以防重要信息。
非常感谢这里的任何意见。
答案 0 :(得分:5)
appendChild()
需要一个DOM-Node,你传递的是我认为的字符串。
您可以将其更改为:
var tname = arraypro[product].Name;
cell.appendChild(document.createTextNode(tname));