tags:

views:

85

answers:

4

I'm trying to get the name of an element in Javascript. Meaning if the element is <div />, then "div" would be returned. If it's <img src="" /> then "img" would be returned. I'm using jquery to select a bunch of elements and then calling a custom function on all of them. Within that function I want to know what I'm dealing with. How do I do this?

Seems like a simple thing. And I think I've done it before but I just can't find it. Google results keep giving me "get element by name" no matter how I phrase it.

+1  A: 

tagName or nodeName

David Dorward
A: 

You want element.nodeName Or, within 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>
Jonathan Sampson
A: 
$(selector).each(function() {
    switch (this.tagName) {
        // Handle cases
    }
});
ChaosPandion
+4  A: 

Use nodeName (see this note about tagName):

"My advice is not to use tagName at all. nodeName contains all functionalities of tagName, plus a few more. Therefore nodeName is always the better choice."

Annie
took the words right out of my mouth, well, clicks out of my keyboard, actually...
Dan Beam