首页 > 解决方案 > 如何使用 Javascript 将事件添加到 html 标记

问题描述

我有一个带有动态 html 标签的登录页面。问题是,我无法直接选择标签。它是一个链接。以下代码是构造:

<div id="testid"><div><div><a href="#">Button 1</a><div><div><div>

每次有人点击链接(a-tag)时,我想触发如下代码的事件:

<a href="#" name="button1" onclick="dataLayer.push({'event': 'button1-click'});">Button 1</a>

onclick="dataLayer.push({'event': 'button1-click'})问题:将属性添加到 a 标签的 Javascript 代码是什么。

我尝试了以下代码:

var d = document.getElementById("testid").firstchild;
d.setAttribute("onclick", "dataLayer.push({'event': 'button1-click'})");

但似乎代码不正确。a标签也不是第一个孩子;之间有 2 个 div :(

标签: javascripthtmleventsonclickdom-events

解决方案


查看我的解决方案。希望这可以帮助。

var d = document.querySelector("#testid a");
var dataLayer = []

d.onclick = function () {
  dataLayer.push({'event': 'button1-click'})
  console.log(dataLayer.length)
}
<div id="testid"><div><div><a href="#">Button 1</a><div><div><div>


推荐阅读