2010-11-01 73 views
6

的類型,如果參數的緣故我申請一類爲<p><a>,然後我想,以確定它是否是一個<a>器或單擊一個<p>,有一種方法來做到這一點?預期用途的JS/jQuery的 - 並獲得元素

實施例:

$(".selector").click(function(){ 
    element = $(this).whatElementWasClicked(); // return "a" or "p" 
} 

回答

9

嘗試使用這樣的:

$(".selector").click(function(event){ 
    var element = event.target.nodeName } 
+2

爲什麼試試?爲什麼不使用? – 2010-11-01 12:01:18

+1

你說得對,我應該說'用' – ilkin 2010-11-02 09:40:43

+6

蒂姆唐,是不是有點過於迂腐? – araisbec 2014-02-10 16:41:51

3

使用nodeNametagName

+0

而不是Mozilla文檔,W3C如何:http://www.w3.org/TR/DOM-Level-2-Core/core.html#ID-F68D095和http://www.w3。 org/TR/DOM-Level-2-Core/core.html#ID-104682815 – 2010-11-01 11:47:43

+2

@OP:如果你想知道爲什麼有兩個,不用擔心,元素(與屬性或文本節點),他們會有相同的價值。如果您僅使用元素,則其他人閱讀您的代碼時'tagName'會更加熟悉。 – 2010-11-01 11:48:28

+3

@TJCrowder我更喜歡Mozilla文檔,因爲它們通常都有示例,跨瀏覽器兼容性信息(適用時)_and_指向相關規範的鏈接。 – robertc 2010-11-01 12:34:59

2

使用標記名獲取標籤

3

$(this).is("a"),例如,也可以工作。如果您正在檢查更復雜的選擇器,而不僅僅是特定的元素類型,這非常有用。