Javascript 在文本字段后插入节点(表单)
我想在我的文本字段(右键)后插入文本,不允许使用innerHTML。我的html代码如下所示Javascript 在文本字段后插入节点(表单),javascript,html,Javascript,Html,我想在我的文本字段(右键)后插入文本,不允许使用innerHTML。我的html代码如下所示 <label for="name">Firstname:</label> <input type="text" name="Name:" id="name" size="40" /> Firstname: 提前谢谢 我不确定这是否是你想要的,因为你的问题我不太清楚,但我想这就是: var nameInput = document.getElementById('
<label for="name">Firstname:</label>
<input type="text" name="Name:" id="name" size="40" />
Firstname:
提前谢谢 我不确定这是否是你想要的,因为你的问题我不太清楚,但我想这就是:
var nameInput = document.getElementById('name');
var textNode = document.createTextNode('Some Text');
nameInput.parentNode.insertBefore(textNode, nameInput.nextSibling);
我不确定这是否是你想要的,因为你的问题我不太清楚,但我想这就是:
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);
}
在
元素后插入一个新的文本节点(document.createTextNode(myText)
)。您可以使用insertAfter
方法:
function insertAfter(element, after) {
element.parentNode.insertBefore(after, element.nextSibling);
}
在
元素后插入新的文本节点(document.createTextNode(myText)
)。检查以下链接,这可能会对您有所帮助
检查以下链接,这可能会对您有所帮助
函数中的if语句不是必需的,因为如果insertBefore的第二个参数为null,它会自动追加。整个函数体可以是:
element.parentNode.insertBefore(after,element.nextSibling)代码>@user1:我在发布后大约5秒就把它拿了出来。:)+1啊,我明白了,哈哈,我可能花了更长的时间输入评论;P@user1:是的,但现在它有点让这个功能变得不必要了。我试图找出如何重新表述它,使其不是注释:p函数中的if语句是不必要的,因为如果insertBefore的第二个参数为null,它会自动追加。整个函数体可以是:element.parentNode.insertBefore(after,element.nextSibling)代码>@user1:我在发布后大约5秒就把它拿了出来。:)+1啊,我明白了,哈哈,我可能花了更长的时间输入评论;P@user1:是的,但现在它有点让这个功能变得不必要了。我试图找出如何重新表述它,使它不是一个注释:P+1,但你能解释一下为什么这不起作用吗nameInput.parentNode.insertAfter(textNode,nameInput)代码>?@AdamRackis在JavaScriptI中默认情况下DomeElement上没有insertAfter函数-很明显,jQuery让我对许多本机dom内容一无所知:)+1,但是你能解释一下为什么这不起作用吗nameInput.parentNode.insertAfter(textNode,nameInput)代码>?@AdamRackis在JavaScriptI中默认情况下DomeElement上没有insertAfter函数-显然jQuery让我对许多本地dom内容一无所知:)