Search code examples
javascripthtmljquerycsshtmlelements

jQuery: Get selected element tag name


Is there an easy way to get a tag name?

For example, if I am given $('a') into a function, I want to get 'a'.


Solution

  • You can call .prop("tagName"). Examples:

    jQuery("<a>").prop("tagName"); //==> "A"
    jQuery("<h1>").prop("tagName"); //==> "H1"
    jQuery("<coolTagName999>").prop("tagName"); //==> "COOLTAGNAME999"
    


    If writing out .prop("tagName") is tedious, you can create a custom function like so:

    jQuery.fn.tagName = function() {
      return this.prop("tagName");
    };
    

    Examples:

    jQuery("<a>").tagName(); //==> "A"
    jQuery("<h1>").tagName(); //==> "H1"
    jQuery("<coolTagName999>").tagName(); //==> "COOLTAGNAME999"
    


    Note that tag names are, by convention, returned CAPITALIZED. If you want the returned tag name to be all lowercase, you can edit the custom function like so:

    jQuery.fn.tagNameLowerCase = function() {
      return this.prop("tagName").toLowerCase();
    };
    

    Examples:

    jQuery("<a>").tagNameLowerCase(); //==> "a"
    jQuery("<h1>").tagNameLowerCase(); //==> "h1"
    jQuery("<coolTagName999>").tagNameLowerCase(); //==> "cooltagname999"