为什么js或jq给a元素绑定的点击事件没有点击就自动执行?

JavaScript026

为什么js或jq给a元素绑定的点击事件没有点击就自动执行?,第1张

$(".a").click(function(){console.log("111")}) 这个应该不会自动执行,你可能看错了。另外,如果你是想给所有a标签绑定事件,那应该是$("a")而不是$(".a")。

document.getElementsByTagName("a").onclick=alert() 这个则肯定会自动执行,因为等号后面是个立即执行语句。另外getElementsByTagName返回的是个对象集合,不能直接绑定onclick事件。应该这样:

document.getElementsByTagName("a")[0].onclick=function(){

alert()

}

或者如果你想给所有a标签绑定事件,则应该这样:

let aobj=document.getElementsByTagName("a")

for(let i in aobj){

aobj[i].onclick=function(){

alert()

}

}

如此是不可能实现的,可以在a标签的“abc”外添加一个span。<span id="spanId">abc</span> 即,<a id="xxx" href=""><span id="spanId">abc</span></a> 然后js里,document.getElementById("spanId").click() 你要点击的是abc 这个 所以你模拟点击事件肯定是要点这个abc啊