我向mozilla目录提交了一个Firefox插件,因此被拒绝了:
item.innerHTML = '<table style="border-collapse: collapse; width: 100%;">'
+ '<tr><td style="line-height: inherit; padding: 0pt; width: 100%;">'
+ word.title
+ '</td></tr>'
+ '</table>';
我和编辑谈过,他告诉我“use a text node and then insert it using appendChild, textContent, etc
”
这对我来说听起来像是完全胡言乱语,我从来没有使用TextContent, appendChild
等等而且有点迷失。你能告诉我如何做到这一点吗?我会在我的剧本中编辑其他13个类似上面的实例吗?
谢谢!
答案 0 :(得分:5)
你可能需要按照这些方针做点什么:
var t = document.createElement("table"),
tb = document.createElement("tbody"),
tr = document.createElement("tr"),
td = document.createElement("td");
t.style.width = "100%";
// note the reverse order of adding child
tr.appendChild(td);
tb.appendChild(tr);
t.appendChild(tb);
// more code to populate table rows and cells
item.appendChild(t);
注意:以这种方式创建表格有一些注意事项,因为浏览器之间的工作方式不同。我建议咨询MDN以确定FF。
答案 1 :(得分:3)
他希望您以编程方式在JavaScript中创建HTML。拿一个read of this post,它应该为你清理。如果您想了解更多信息,请发表评论。
答案 2 :(得分:2)
他希望您使用以更直接的方式更改DOM的函数,而不是使用innerHTML。的appendChild
将节点添加到指定父级子级列表的末尾 节点。如果该节点已存在,则将其从当前父节点中删除 节点,然后添加到新的父节点
https://developer.mozilla.org/En/DOM/Node.appendChild。其格式为:var child = element.appendChild(child);
在你的实例中我会这样做:
var newText = document.createTextNode(word.title);
locationInDom.appendChild(newText);
其中locationInDom是您要使用innerHTML的地方。如果innerHTML进入表中,那么只需将id添加到特定的现有列,并使用getElementById方法并在此处添加。