我正在尝试使用Google跟踪代码管理器在没有ID的div之后添加带有链接的按钮。我正在使用下面的代码获取特定div(没有id),但是当我尝试使用innerHTML将div放在div之后,div被替换为按钮,如果我使用appendChild(在我的代码中注释)没有发生的情况。
<script>
var HTML = '<a href="#" target="_blank" class="button" >Send</a>'
var title = document.getElementsByClassName("class_title");
title[0].nextSibling.nextSibling.setAttribute("id", "newdiv");
document.getElementById("newdiv").innerHTML = HTML;
//getElementById("newscript").appendChild(HTML);
</script>
我做错了什么?非常感谢!
答案 0 :(得分:1)
通常,要逐个插入节点,请使用此节点(取自this answer):
referenceNode.parentNode.insertBefore(newNode, referenceNode.nextSibling);
要使用insertBefore
,您应该使用JavaScript创建一个link元素,然后插入它,如下所示:
<script>
var a = document.createElement('a');
var linkText = document.createTextNode("Send");
a.appendChild(linkText);
a.target = "_blank";
a.href = "#";
a.class = "button";
var referenceNode = document.getElementsByClassName("class_title")[0].nextSibling.nextSibling;
referenceNode.parentNode.insertBefore(a, referenceNode.nextSibling);
</script>
答案 1 :(得分:0)
这很容易。
您的问题已经回答here
在您的情况下,请执行以下操作:
// Create a variable for the element you want. Make it easy to read.
var element = document.getElementById("new_div");
element.parentNode.insertBefore(HTML, element.nextSibling);
阅读相关问题,详细了解详情。