Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/422.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用父类和无ID的javascript检测按钮单击_Javascript - Fatal编程技术网

使用父类和无ID的javascript检测按钮单击

使用父类和无ID的javascript检测按钮单击,javascript,Javascript,我试图简单地检测html标记的点击。只有当按钮有ID,但我的按钮没有ID或类时,它才起作用 html 使用这个,document.querySelector就像css选择器一样工作 document.querySelector('.parent button').onclick = function() { alert("clicked"); }; 使用这个,document.querySelector就像css选择器一样工作 document.querySelector('.parent

我试图简单地检测html标记的点击。只有当按钮有ID,但我的按钮没有ID或类时,它才起作用

html


使用这个,
document.querySelector
就像css选择器一样工作

document.querySelector('.parent button').onclick = function() {
  alert("clicked");
};

使用这个,
document.querySelector
就像css选择器一样工作

document.querySelector('.parent button').onclick = function() {
  alert("clicked");
};

您正在使用
getElementByClassName
并为其提供一个Css选择器字符串。
因此它返回null,因为没有类为“.parent button”的元素

改用
querySelector

document.querySelector('.parent button').onclick = function() {
  alert("clicked");
};

您正在使用
getElementByClassName
并为其提供一个Css选择器字符串。
因此它返回null,因为没有类为“.parent button”的元素

改用
querySelector

document.querySelector('.parent button').onclick = function() {
  alert("clicked");
};

您可以将
.querySelector()
addEventListener一起使用:

document.querySelector('.parent button').addEventListener('click', function() 
{ 
     alert("clicked"); 
});

您可以将
.querySelector()
addEventListener一起使用:

document.querySelector('.parent button').addEventListener('click', function() 
{ 
     alert("clicked"); 
});

提交
document.querySelector(“.parent>按钮”).addEventListener('click',function(){
警报('Clicked!');
});

提交
document.querySelector(“.parent>按钮”).addEventListener('click',function(){
警报('Clicked!');
});

getElementByClassName
不是这样工作的。它需要在类中使用
getElementByClassName
,然后使用
getElementsByTagName
进行另一次查找,或者只使用现代
querySelector
获取元素。
getElementByClassName
不是这样工作的。该类需要使用
getElementByClassName
,而不是使用
getElementsByTagName
进行另一次查找,或者只需使用现代
querySelector
来获取元素。如果该按钮位于iframe中该怎么办?当按钮位于iframe中时,这似乎不起作用。我一直得到:uncaughttypeerror:无法设置包装在这个文件中的nullI的属性'onclick',它可以检测按钮何时在iframe中!window.onload=function(){}如果按钮位于iframe中怎么办?当按钮位于iframe中时,这似乎不起作用。我一直得到:uncaughttypeerror:无法设置包装在这个文件中的nullI的属性'onclick',它可以检测按钮何时在iframe中!window.onload=function(){}这实际上是在您使用父类单击时触发警报,而不是在您按下按钮时。这是一个语义问题,但它已经解决了。很抱歉:)这实际上是在您使用父类单击时触发警报,而不是在您按下按钮时。这是一个语义问题,但它已经解决了。很抱歉:)