如何删除元素的结束标记,添加一些文本,然后重新添加标记?

时间:2013-12-16 23:31:24

标签: javascript html

问题非常具体,但是当元素(div)在表单中添加了一些文本时

<b>text</b>

我想在div(追加)中添加新文本,但是想把它放在div中的最后一个元素中,所以:

<b>text</b>

变为

<b>texttext2</b>

而不是必须:

<b>text1</b><b>text2></b>

我有一个

document.getElementById('div1');

并可以为其添加新文本。但我想将它添加到元素(它总是div中的最后一个元素)。

2 个答案:

答案 0 :(得分:4)

您是否尝试这样做:

var ele = document.querySelector("#div1 > b");
ele.innerHTML += "text2";

http://jsfiddle.net/DerekL/PLpyt/

请注意,如果您必须支持IE7或之前,则必须执行

var ele = document.getElementById('div1').getElementsByTagName("b")[0];

当然,您始终可以使用jQuery来支持旧浏览器。

答案 1 :(得分:1)

对于可在任何地方使用并且使用最少代码的解决方案,请考虑:

var div = document.getElementById('div1');
div.lastChild.innerHTML += ' more text';

甚至:

div.lastChild.appendChild(document.createTextNode(' more text'));

您需要多少解决方案? : - )