【问题标题】:Something about this 'NOT_FOUND_ERR: Dom exception 8' confuses me关于这个'NOT_FOUND_ERR:Dom exception 8'的一些东西让我感到困惑
【发布时间】:2012-10-26 16:46:22
【问题描述】:

好吧,我继续,尝试学习这种非常好的语言......所以我之前有一个非常丑陋的代码,里面充满了'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 行出现“异常 8”错误

但如果我只做一个

alert(arraypro[0].Name);

它准确地输出它应该输出的东西,非常正确的词。 arraypro[product].Name 中的值怎么可能被 alert 检索(如果你传递 'product' 的值)而不是 appendChild

我还是不太习惯编程的逻辑,不过我试试……

PD:信息所在的 arraypro 已被声明为全局值,可用于所有内容,以防万一知道。

非常感谢您在此提供的任何意见。

【问题讨论】:

    标签: javascript exception dom appendchild


    【解决方案1】:

    appendChild() 需要一个 DOM 节点,我相信你传入的是一个字符串。

    你可以改成:

    var tname = arraypro[product].Name;
    cell.appendChild(document.createTextNode(tname));
    

    【讨论】:

    • 先生,我爱你。我刚刚尝试过,这确实是问题所在。系统允许后(10 分钟),我会尽快接受您的回答
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-15
    • 1970-01-01
    相关资源
    最近更新 更多