Javascript,再添加一个元素。。。
我正在学习这些东西,所以这是我最简单的脚本:Javascript,再添加一个元素。。。,javascript,elements,Javascript,Elements,我正在学习这些东西,所以这是我最简单的脚本: var t = document.createElement("table"), tb = document.createElement("tbody"), tr = document.createElement("tr"), td = document.createElement("td"); t.style.width = "100%"; t.style.borderCollapse = 'collap
var t = document.createElement("table"),
tb = document.createElement("tbody"),
tr = document.createElement("tr"),
td = document.createElement("td");
t.style.width = "100%";
t.style.borderCollapse = 'collapse';
t.border=1;
// note the reverse order of adding child
tr.appendChild(td);
tb.appendChild(tr);
t.appendChild(tb);
// more code to populate table rows and cells
document.getElementById("theBlah").appendChild(t);
alert(t);
}
现在我想添加一些将在
中显示的内容,因此我想:
td.appendChild(document.createTextNode(title));
这很有效。。。
但如果标题包含html,例如一个简单的粗体标记,如soHello name代码>
我们怎么做
我认为我们为
创建了一个新元素,但是。。。在那之后,我不知道怎么做。
只是想澄清一下,我希望最终的结果是Hello name代码>在TD标记中结束,如下所示:
<td>Hello<b> name!</b></td>
Hello name!
请帮忙
编辑;
是的,我知道我可以通过InnerHTML做到这一点,但我需要这样做才能通过Firefox AMO策略
很抱歉,应该在前面提到这一点…尝试改用td.innerHTML
。这样,您就可以无需担心地将标记作为标记传递。您可以将innerHTML分配给要附加的元素
td = document.createElement("td");
td.innerHTML = "<em>OMG!</em> I can has <strong>HTML<strong>!"
tr.appendChild(td);
td=document.createElement(“td”);
td.innerHTML=“天哪!我可以拥有HTML!”
tr.appendChild(td);
正如其他人所提到的,您可以做的最简单的事情是:
td.innerHTML = "Hello<b> name!</b>";
另外,正如您所知,
标记在技术上是不受欢迎的。您应该改用
或
。试试:
var td = document.createElement("td");
var b = document.createElement("b");
b.appendChild(document.createTextNode(" name!"));
td.appendChild(document.createTextNode("Hello"));
td.appendChild(b);
结果:Hello name代码>
示例:您可以尝试学习jQuery一个非常简单且高效的javascript库jQuery肯定很棒,但我认为如果人们在没有它的情况下先花时间学习更多javascript和DOM操作,那就更好了。如果JQuery不是一个选项,那么您仍然可以编写有效的JQuery,并且您知道JQuery(或任何JS库)的引擎盖下发生了什么,实际上它在技术上并没有被弃用-请参阅。尽管如此,我还是不会使用它。这会抛出一个错误:b.appendChild(“name”)代码>错误为:未捕获错误:未找到\u错误:DOM异常,在firefox中错误为:错误:未捕获异常:[exception…”无法转换JavaScript参数arg 0[nsidomHtmlement.appendChild]“nsresult:”0x80570009(NS\u错误\u XPC\u错误\u转换\u JS)”位置:“JS框架::file:///C:/wamp2/www/6/TESTS/Noname1.html ::加载::第38行“数据:否]@Ryan写得太快了。我忘了在“名称”周围创建文本节点。对此表示抱歉。@Andrew很有趣!谢谢分享!
var td = document.createElement("td");
var b = document.createElement("b");
b.appendChild(document.createTextNode(" name!"));
td.appendChild(document.createTextNode("Hello"));
td.appendChild(b);