[英]Get ID of clicked on element in function
我想獲取我點擊的元素的ID。 我將函數放在onclick元素中,如下所示:
<a id="myid" class="first active" onclick="markActiveLink();" href="#home">Home</a>
這是在功能:
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:
<a id="myid" class="first active" onclick="markActiveLink(this);" href="#home">Home</a>
JS:
function markActiveLink(e) {
alert(e.id);
}
不要使用$(this)
因為它會意外地返回您添加綁定的元素。 單擊內部元素時,它還返回外部元素。
<div id="outer">
<div id="inner">
</div>
</div>
您最好使用以下外觀:
$("#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個小時,最后找到了我喜歡的最佳方式:
< div onclick="div_Clicked(this.id)" id="some"/>
function div_Clicked(itemName) { alert(itemName); }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.