我想在我的文本字段之后插入文本,但我不允许使用innerHTML。我的html代码看起来像这样在textfield(表单)之后插入节点
<label for="name">Firstname:</label>
<input type="text" name="Name:" id="name" size="40" />
在此先感谢!
我想在我的文本字段之后插入文本,但我不允许使用innerHTML。我的html代码看起来像这样在textfield(表单)之后插入节点
<label for="name">Firstname:</label>
<input type="text" name="Name:" id="name" size="40" />
在此先感谢!
我不知道这是否是你问什么,因为你的问题是不完全清楚,我,但我认为这是它:
var nameInput = document.getElementById('name');
var textNode = document.createTextNode('Some Text');
nameInput.parentNode.insertBefore(textNode, nameInput.nextSibling);
你可以使用insertAfter
方法:
function insertAfter(element, after) {
element.parentNode.insertBefore(after, element.nextSibling);
}
您<input>
元素之后插入一个新的文本节点(document.createTextNode(myText)
)。
+1,但你能解释一下为什么这不起作用? 'nameInput.parentNode.insertAfter(textNode,nameInput);'? – 2012-01-07 04:22:19
@AdamRackis默认情况下,在DOMElement中没有insertAfter函数 – Paulpro 2012-01-07 04:23:35
我明白了 - 显然jQuery让我不知道大部分原生dom的东西:) – 2012-01-07 04:24:56