2010-01-01 28 views
4

我想在Javascript中获取元素的名称。意思是如果元素是<div />,则将返回"div"。如果它是<img src="" />则返回"img"。我使用jquery来选择一堆元素,然后在所有元素上调用一个自定义函数。在那个函数中,我想知道我在处理什么。我该怎么做呢?如何用Javascript获取元素的名称?

看起来像一个简单的事情。我想我以前做过,但我无法找到它。不管我怎么说,谷歌的结果总是给我“按名称获取元素”。

回答

9

使用nodeName(见this note about tagName):

“我的建议是不要用标签名 nodeName包含所有的f tagName的unctionalities,再加上几个。因此节点名称始终是更好的选择。”

+0

了在我的嘴里说的话,呃,点击我的键盘,实际上...... – 2010-01-02 11:06:54

+0

结果可以在'text'节点和'attribute'节点上有所不同,但是当使用'tagName'时HTML元素应该给出完全相同的结果,并且'nodeName'。所以如果你知道你的节点是一个HTML元素,它应该没关系,对吗? – 2016-01-20 22:59:02

0

你想element.nodeName或者内的jQuery:

$(".includeMe").each(function(){ 
    alert(this.nodeName); 
}); 

<img class="includeMe" src="puppies.jpg" /> 
<div class="includeMe">Hello World</div> 
<p class="includeMe">Don't forget me as well</p> 
0
$(selector).each(function() { 
    switch (this.tagName) { 
     // Handle cases 
    } 
}); 
0

对于element.tagNameelement.nodeName返回名称的标签,是大写。

如果你想在小写字母,只使用element.tagName.toLowerCase()element.nodeName.toLowerCase()