Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在文本字段后插入节点(表单)_Javascript_Html - Fatal编程技术网

Javascript 在文本字段后插入节点(表单)

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('

我想在我的文本字段(右键)后插入文本,不允许使用innerHTML。我的html代码如下所示

<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内容一无所知:)