使用JavaScript在div后显示按钮
我正在尝试使用Google Tag Manager在一个没有id的div后面添加一个带有链接的按钮。我使用下面的代码获取特定的div(没有id),但是当我尝试使用innerHTML将按钮放在该div之后时,该div将被按钮替换,如果使用appendChild(在代码中注释),则不会发生任何事情使用JavaScript在div后显示按钮,javascript,Javascript,我正在尝试使用Google Tag Manager在一个没有id的div后面添加一个带有链接的按钮。我使用下面的代码获取特定的div(没有id),但是当我尝试使用innerHTML将按钮放在该div之后时,该div将被按钮替换,如果使用appendChild(在代码中注释),则不会发生任何事情 <script> var HTML = '<a href="#" target="_blank" class="button" >Send</a>' var t
<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>
var HTML=''
var title=document.getElementsByClassName(“class_title”);
标题[0].nextSibling.nextSibling.setAttribute(“id”、“newdiv”);
document.getElementById(“newdiv”).innerHTML=HTML;
//getElementById(“newscript”).appendChild(HTML);
我做错了什么?非常感谢 这很容易
你的问题已经回答了
在您的情况下,请执行以下操作:
// 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);
阅读链接问题以查看详细解释。通常,要在一个节点之后插入另一个节点,您可以使用以下选项(摘自): 要使用
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>
var a=document.createElement('a');
var linkText=document.createTextNode(“发送”);
a、 appendChild(linkText);
a、 target=“_blank”;
a、 href=“#”;
a、 class=“按钮”;
var referenceNode=document.getElementsByClassName(“类标题”)[0].nextSibling.nextSibling;
referenceNode.parentNode.insertBefore(a,referenceNode.nextSibling);
这正是我需要的!在你的帮助下,我已经能够完全按照我想要的方式来做了,现在它就像一个符咒。我必须说,这是我唯一的工作方式。非常感谢,@d4nyll!谢谢,贝托·席尔瓦!但是,我还需要为HTML元素设置一些格式。
<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>