获取在函数中单击元素的ID

我想获取我点击的元素的ID。 我将函数放在onclick元素中,如下所示:

Home 

这是在function:

 function markActiveLink() { alert($(this).attr("id")); } 

这不起作用,因为它说它没有定义。 它是否真的忘记了ID,我是否必须在onclick中键入它?

尝试: onclick="markActiveLink(this);"

 function markActiveLink(el) { alert($(el).attr("id")); } 

为什么使用内联处理程序? 转向不引人注目的js

 $(document).ready(function(){ $('#myid').bind('click', function(){ alert($(this).attr('id')); }); }); 

您必须将元素传递给函数。 JS本身并不比你聪明:)

HTML:

 Home 

JS:

 function markActiveLink(e) { alert(e.id); } 

不要使用$(this)因为它会意外地返回您添加绑定的元素。 单击内部元素时,它还返回外部元素。

 

您最好使用以下外观:

 $("#outer").bind('click', function(e) { if(e.target.id === "inner") { alert("you clicked the inner element"); } else { alert("you clicked the outer element"); } }); 

你可以在这里找到一个小提琴: http : //jsfiddle.net/vqab7jdo/1/

我尝试了所有方法,花了将近2个小时,最后找到了我喜欢的最佳方式:

  
this.id )”id =“some”/>

  function div_Clicked(itemName){alert(itemName);  }