簡體   English   中英

獲取在功能中單擊元素的ID

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM