使用JavaScript在div后显示按钮

时间:2017-11-07 17:54:20

标签: javascript

我正在尝试使用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>

我做错了什么?非常感谢!

2 个答案:

答案 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);

阅读相关问题,详细了解详情。