jQuery tag name of element

html, jquery, tags

Solution

Try

`this.nodeName` instead of `$(this).nodeName`

`this` refers to the DOM element itself and `$(this)` wraps the element up in a jQuery object.

EDIT

If you require Jquery approach you can use

$(this).prop("tagName")

Problem

I'm try to get an elements tag name in jQuery. I have the following html: ``` <div class="section" id="New_Revision"> <h1>New Revision&nbsp<img alt="Lock_closed" class="edit" data-id="1" src="/assets/lock_closed.svg" /></h1> <p>This is a test paragraph.</p> <ol class="references"> <li>test</li> </ol> </div> ``` And javascript: ``` $(".edit").click(function(){ $(this).closest("div.section").children().each(function(){ alert($(this).tagName + " - " + $(this).html()); }); }) ``` I've tried `$(this).tagName`, `$(this).nodeName` and `$(this).attr("tag")` as noted in this question: Can jQuery provide the tag name? But I'm always getting `undefined` in return. The `html()` outputs correctly. Why can't I get the tag name of each element?

Original source

Related problems