Javascript 获取带有e.target和<;的复选框的id;标签为="&引用&燃气轮机;

Javascript 获取带有e.target和<;的复选框的id;标签为="&引用&燃气轮机;,javascript,html,Javascript,Html,我试着跟踪我网站上的点击。因此我使用e.target.id。使用for=“mycheckbox”单击标签时,我将获得标签的id,而不是复选框。我怎样才能拿到for标签 document.addEventListener('mousedown', function(e) { e = e || window.event; alert("checkbox with id: " + e.target.id.toString() + " checked");

我试着跟踪我网站上的点击。因此我使用e.target.id。使用for=“mycheckbox”单击标签时,我将获得标签的id,而不是复选框。我怎样才能拿到for标签

document.addEventListener('mousedown', function(e) {
  e = e || window.event;
  alert("checkbox with id: " + e.target.id.toString() + " checked"); //doesn't work with labels
, false);

关于

最有可能的是,您的
标签
将是输入元素的相邻上一个同级。在这种情况下,可以使用
previousElementSibling.id
获取
标签的id
。下面是一个片段来解释同样的问题-

document.addEventListener('mousedown',函数(e){
e=e | | window.event;
//检查我们是否单击了输入-
if(例如,target.outerHTML.includes(“输入”)){
警报(例如target.previousElementSibling.id);
}
},假)
Check1


支票2
最有可能的是,您的
标签将是输入元素的相邻上一个同级。在这种情况下,可以使用
previousElementSibling.id
获取
标签的id
。下面是一个片段来解释同样的问题-

document.addEventListener('mousedown',函数(e){
e=e | | window.event;
//检查我们是否单击了输入-
if(例如,target.outerHTML.includes(“输入”)){
警报(例如target.previousElementSibling.id);
}
},假)
Check1


支票2
您可以使用
e.srcielement.htmlFor
e.target.htmlFor
来获取
属性


p.S.-
for
不是标签,而是属性。您可以通过使用获取任何属性的值。

您可以通过使用
e.srcielement.htmlFor
e.target.htmlFor
获取


p.S.-
for
不是标签,而是属性。您可以通过使用获取任何属性的值。

是否应该是e.target.getAttribute(“for”)?没错,vs代码不喜欢为e.target显示此选项。是否应该是e.target.getAttribute(“for”)?没错,vs代码不喜欢为e.target显示此选项。仍然想知道为什么vs代码不识别带有event.target的getAttribute。听说它不是html元素。不管怎么说,工作!仍然想知道为什么vs代码不能识别带有event.target的getAttribute。听说它不是html元素。不管怎么说,工作!