Get element type with jQuery

2020/10/31 22:41 · jquery ·  · 0评论

Is it possible, using jQuery, to find out the type of an element with jQuery? For example, is the element a div, span, select, or input?

For example, if I am trying to load values into a drop-down list with jQuery, but the same script can generate code into a set of radio buttons, could I create something like:

$('.trigger').live('click', function () {
   var elementType = $(this).prev().attr(WHAT IS IT);

Given a drop-down list with a button next to it with the trigger class, my elementType variable should return select upon the button being pressed.

Getting the element type the jQuery way:

var elementType = $(this).prev().prop('nodeName');

doing the same without jQuery

var elementType = this.previousSibling.nodeName;

Checking for specific element type:

var is_element_input = $(this).prev().is("input"); //true or false

also you can use:


you should use tagName property and attr('type') for inputs

As Distdev alluded to, you still need to differentiate the input type. That is to say,


will tell you input, but that doesn't differentiate between checkbox/text/radio. If it's an input, you can then use


to tell you checkbox/text/radio, so you know what kind of control it is.

you can use .is():

  $( "ul" ).click(function( event ) {
      var target = $( );
      if ( "li" ) ) {
         target.css( "background-color", "red" );

see source

use get(0).tagName. See this link

Use Nodename over tagName :

nodeName contains all functionalities of tagName, plus a few more. Therefore nodeName is always the better choice.

see DOM Core

文章标签: ,  
版权声明:本文为原创文章,版权归 admin 所有,欢迎分享本文,转载请保留出处!