Javascript 在div'后插入行;外公外婆

Javascript 在div'后插入行;外公外婆,javascript,Javascript,此对应于特定的div 我想在其祖父母使用此代码后插入一段代码,但它似乎不起作用:this.parentNode[0]。parentNode[0]。insertAfter(newrespondform) 如果需要,我可以提供更多的代码,但在尝试调试之后,我确信问题就在这里。 我怎么写才能让它工作呢?我无法将ID添加到祖父母以进行选择 谢谢你的帮助:) 编辑-以下是页面加载时加载的完整代码: function comrespond(){ function addresform(){

对应于特定的div

我想在其祖父母使用此代码后插入一段代码,但它似乎不起作用:
this.parentNode[0]。parentNode[0]。insertAfter(newrespondform)

如果需要,我可以提供更多的代码,但在尝试调试之后,我确信问题就在这里。 我怎么写才能让它工作呢?我无法将ID添加到祖父母以进行选择

谢谢你的帮助:)

编辑-以下是页面加载时加载的完整代码:

function comrespond(){
    function addresform(){
    var resid = this.getAttribute('id'),
    grandParent = this.parentNode.parentNode,
    newrespondform = '<div class="commentresponse"><span></span><span><p class="author">Leave a reply:</p><form id="commentform" action="http://split.snippetspace.com/wp-comments-post.php" method="post" onsubmit="addcomment(); return false;"><input id="author" aria-required="true" name="author" type="text" placeholder="Your name"/><input id="email" aria-required="true" name="email" type="text" placeholder="Email address" /><textarea id="comment" aria-required="true" name="comment" rows="8"></textarea><input id="submit" name="submit" type="submit" value="Post Comment" /><input id="comment_post_ID" name="comment_post_ID" type="hidden" value="'+resid+'" /></form></span></div>';
    grandParent.parentNode.insertBefore(newrespondform, grandParent.nextSibling);
    }
    var responsebtn = document.getElementsByClassName('comment-reply-link');
    for(var i = 0; i < responsebtn.length; i++){
                    bindEvt(responsebtn[i], "click", addresform);
                };}
函数comrespond(){
函数addresform(){
var resid=this.getAttribute('id'),
祖父母=this.parentNode.parentNode,
newrespondform='

留下回复:

; grandParent.parentNode.insertBefore(newrespondform,grandParent.nextSibling); } var responsebtn=document.getElementsByClassName('comment-reply-link'); 对于(变量i=0;i
HTML:

<div>
    <span></span>
    <span>
        <p class="author">Christopher</p>
        <div class="comment-reply-link" id="106"></div>
        <p>test comment 2 to see if it increments!</p>
    </span>
</div>

克里斯托弗

测试注释2以查看其是否增加


parentNode
不是数组,所以我认为只要去掉
[0]
就可以了

this.parentNode.parentNode.insertAfter(newrespondform);

代码中有几个问题

首先,属性
parentNode
只包含一个节点,而不是一组节点,因此不需要应用
[0]
来获取第一个节点。接下来,在本机JavaScript中没有insertAfter
方法。相反,您可以使用
insertBefore
的技巧。因此,解决方案可能如下所示:

var grandParent = this.parentNode.parentNode;
grandParent.parentNode.insertBefore(newrespondform, grandParent.nextSibling);

一个元素只能有一个父元素,因此
parentNode
永远不是数组。也没有
insertAfter()
函数。有一个
insertBefore()
需要两个参数。这看起来不错,但是在IE10中,最后一行触发了“SCRIPT87:Invalid argument”。现在无法在其他浏览器上尝试,但可能相同。有什么想法吗?谢谢你的帮助@不过,它应该可以正常工作。在这里查看:。好吧,肯定是其他地方出了问题。我已经在原来的帖子中添加了完整的代码,你可以看一下吗?抱歉给你添麻烦了。