问题非常具体,但是当元素(div)在表单中添加了一些文本时
<b>text</b>
我想在div(追加)中添加新文本,但是想把它放在div中的最后一个元素中,所以:
<b>text</b>
变为
<b>texttext2</b>
而不是必须:
<b>text1</b><b>text2></b>
我有一个
document.getElementById('div1');
并可以为其添加新文本。但我想将它添加到元素(它总是div中的最后一个元素)。
答案 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'));
您需要多少解决方案? : - )