Ruft den Elementtyp mit jQuery ab

Ist es möglich, mit jQuery den Typ eines Elements mit jQuery herauszufinden? Zum Beispiel, ist das Element ein div, span, select oder input?

Zum Beispiel, wenn ich versuche, Werte in eine Dropdown-Liste mit jQuery zu laden, aber das gleiche Skript kann Code in eine Reihe von Radio-Buttons generieren, könnte ich etwas wie erstellen:

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

Bei einer Dropdown-Liste mit einer Schaltfläche daneben mit der Trigger- class sollte meine Variable elementType nach dem Drücken der Schaltfläche zurückgeben.

Das Element erhalten Sie den jQuery-Weg:

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

das gleiche ohne jQuery machen

 var elementType = this.previousSibling.nodeName; 

Nach bestimmten Elementtypen suchen:

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

Sie können auch verwenden:

 $("#elementId").get(0).tagName 

Sie sollten tagName Eigenschaft und attr('type') für Eingaben verwenden

Wie bereits erwähnt, müssen Sie den Eingabetyp noch unterscheiden. Das heißt,

 $(this).prev().prop('tagName'); 

sagt Ihnen input , aber das unterscheidet nicht zwischen Checkbox / Text / Radio. Wenn es sich um eine Eingabe handelt, können Sie diese verwenden

 $('#elementId').attr('type'); 

um Ihnen Checkbox / Text / Radio zu sagen, damit Sie wissen, welche Art von Kontrolle es ist.

Sie können .is() :

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

siehe Quelle

Verwenden Sie get (0) .tagName. Siehe diesen Link

Verwenden Sie Nodename über TagName:

nodeName enthält alle functionalitäten von tagName plus ein paar mehr. Daher ist KnotenName immer die bessere Wahl.

siehe DOM Core