javascript tutorial Jquery-Selektoreingabe[type=text] ')




jquery tutorial (4)

Ich habe einen Code geschrieben, der im Prinzip alle input type=text wie folgt auswählt:

$('.sys input[type=text]').each(function () {}

Wie ändere ich es, um input[type=text] auszuwählen input[type=text] oder select ?


Verwenden eines normalen CSS-Selektors:

$('.sys input[type=text], .sys select').each(function() {...})

Wenn Sie die Wiederholung nicht mögen:

$('.sys').find('input[type=text],select').each(function() {...})

Oder präziser, geben Sie das Argument context :

$('input[type=text],select', '.sys').each(function() {...})

Hinweis: Intern wird jQuery das obige in find() Äquivalent konvertieren

http://api.jquery.com/jQuery/

Intern wird der Selektorkontext mit der Methode .find () implementiert, sodass $ ('span', this) äquivalent zu $ ​​(this) .find ('span') ist.

Ich persönlich finde die erste Alternative, die am besten lesbar ist :), aber du nimmst es


$('.sys').children('input[type=text], select').each(function () { ... });

BEARBEITEN: Eigentlich entspricht dieser Code dem Selektor für Kinder .sys > input[type=text] Wenn Sie möchten, dass der absteigende .sys > input[type=text] ausgewählt wird ( .sys input[type=text] ), müssen Sie die von @NiftyDude angegebenen Optionen verwenden.

Mehr Informationen:


$('input[type=text],select', '.sys');

zum Schleifen:

$('input[type=text],select', '.sys').each(function() {
   // code
});

Wenn Sie mehrere Eingaben als Text in einem Formular oder einer Tabelle haben, die Sie durchlaufen müssen, habe ich Folgendes getan:

var $list = $("#tableOrForm :input[type='text']");

$list.each(function(){
    // Go on with your code.
});

Was ich getan habe, war, dass ich jede Eingabe überprüfte, um zu sehen, ob der Typ auf "Text" gesetzt ist, dann wird dieses Element gegriffen und in der jQuery-Liste gespeichert. Dann würde es durch diese Liste iterieren. Sie können eine temporäre Variable für die aktuelle Iteration wie folgt festlegen:

var $currentItem = $(this);

Dadurch wird das aktuelle Element für jede Schleife auf die aktuelle Iteration gesetzt. Dann können Sie mit der Temp-Variable machen, was Sie wollen.

Hoffe das hilft jedem!





jquery