jQuery: Auswahl nach Klasse und Eingabetyp


119

Ich möchte eine Reihe von Elementen auswählen, die beide einen bestimmten Eingabetyp haben (z. B. ein Kontrollkästchen) und mit jQuery eine bestimmte Klasse haben. Wenn ich jedoch Folgendes versuche:

 $("input:checkbox .myClass")

Ich bekomme keine Artikel zurück. Wie kann ich dies in jQuery erreichen?

Antworten:


208

Ihr Selektor sucht nach Nachkommen eines Kontrollkästchenelements mit einer Klasse von .myClass.

Versuchen Sie stattdessen Folgendes:

$("input.myClass:checkbox")

Probieren Sie es in Aktion aus .

Ich habe das auch getestet:

$("input:checkbox.myClass")

Und es wird auch richtig funktionieren. Meiner bescheidenen Meinung nach sieht diese Syntax wirklich ziemlich hässlich aus, da ich die meiste Zeit davon :ausgehe, dass die Stilauswahl an letzter Stelle steht. Wie gesagt, beide werden funktionieren.


51

Wenn Sie die Eingaben dieses Typs mit dieser Klasse erhalten möchten, verwenden Sie:

$("input.myClass[type=checkbox]")

Mit der Selektorsyntax [] können Sie jedes Elementattribut überprüfen. Weitere Informationen finden Sie in der Spezifikation


6

Sie müssen (für Kontrollkästchen) :checkboxund das .nameAttribut verwenden, um es nach Klasse auszuwählen.

Beispielsweise:

$("input.aclass:checkbox")

Der :checkboxSelektor:

Entspricht allen Eingabeelementen des Kontrollkästchens. Die Verwendung dieses Pseudo-Selektors wie $(':checkbox')entspricht $('*:checkbox') einem langsamen Selektor. Es wird empfohlen, dies zu tun $('input:checkbox').

Sie sollten die jQuery-Dokumentation lesen , um mehr über Selektoren zu erfahren.


4

Sie sollten den Klassennamen so verwenden

$(document).ready(function(){
    $('input.addCheck').prop('checked',true);
});

Versuchen Sie, dies als Live-Demo zu verwenden


1
Die Antwort ist für die Frage nicht relevant.
Avnish alok

1
Die Antwort ist jedoch für andere, die nach ähnlichen Dingen suchen, aber nicht die genaue OP-Frage, völlig hilfreich.
Camdixon


3

Nur für den Fall, dass Dummies wie ich die Vorschläge hier mit einem Knopf ausprobiert haben und festgestellt haben, dass nichts funktioniert, möchten Sie wahrscheinlich Folgendes:

$(':button.myclass')
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.