我想在Javascript中获取元素的名称。意思是如果元素是<div />
,则将返回"div"
。如果它是<img src="" />
则返回"img"
。我使用jquery来选择一堆元素,然后在所有元素上调用一个自定义函数。在那个函数中,我想知道我在处理什么。我该怎么做呢?如何用Javascript获取元素的名称?
看起来像一个简单的事情。我想我以前做过,但我无法找到它。不管我怎么说,谷歌的结果总是给我“按名称获取元素”。
我想在Javascript中获取元素的名称。意思是如果元素是<div />
,则将返回"div"
。如果它是<img src="" />
则返回"img"
。我使用jquery来选择一堆元素,然后在所有元素上调用一个自定义函数。在那个函数中,我想知道我在处理什么。我该怎么做呢?如何用Javascript获取元素的名称?
看起来像一个简单的事情。我想我以前做过,但我无法找到它。不管我怎么说,谷歌的结果总是给我“按名称获取元素”。
使用nodeName(见this note about tagName):
“我的建议是不要用标签名 nodeName包含所有的f tagName的unctionalities,再加上几个。因此节点名称始终是更好的选择。”
你想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>
$(selector).each(function() {
switch (this.tagName) {
// Handle cases
}
});
对于element.tagName
和element.nodeName
返回名称的标签,是大写。
如果你想在小写字母,只使用element.tagName.toLowerCase()
或element.nodeName.toLowerCase()
。
了在我的嘴里说的话,呃,点击我的键盘,实际上...... – 2010-01-02 11:06:54
结果可以在'text'节点和'attribute'节点上有所不同,但是当使用'tagName'时HTML元素应该给出完全相同的结果,并且'nodeName'。所以如果你知道你的节点是一个HTML元素,它应该没关系,对吗? – 2016-01-20 22:59:02