2010-11-01 35 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"),例如,也可以工作。如果您正在检查更复杂的选择器,而不仅仅是特定的元素类型,这非常有用。