2 Stimmen

Ist es möglich, mehrere Attribute in einem jQuery-Selektor zu verwenden?

Ich bin neu bei jQuery. Ich weiß, dass man $('.selector [attribute=value]') verwenden kann, um Objekte im DOM auszuwählen, aber ist es möglich, gleichzeitig mehrere Attribute zu verwenden?

Zum Beispiel:

$('.selector [attribute=value], [attribute2=value2]')

4voto

Guffa Punkte 663241

Ja. Wie Sie es tun, hängt davon ab, was Sie tun möchten. Wenn Sie entweder das Attribut übereinstimmen möchten, verwenden Sie den Kommaoperator und vervollständigen Sie Selektoren:

Wie $('.selector [attribute=value], .selector [attribute2=value2]')

Wenn Sie möchten, dass die Elemente beide Attribute übereinstimmen, stapeln Sie sie einfach nacheinander:

Wie $('.selector [attribute=value][attribute2=value2]')

Beachten Sie auch, dass Leerzeichen ein Operator sind. Der Selektor .selector [attribute=value] passt zu Elementen mit dem angegebenen Attribut innerhalb eines Elements mit der Klasse selector, während der Selektor .selector[attribute=value] Elemente sowohl mit der Klasse selector als auch mit dem angegebenen Attribut passt.

3voto

bhamlin Punkte 5137

Es kommt darauf an, was du willst:

Wählt Elemente mit beiden Attributen aus:

$('.selector[attribute=value][attribute2=value]')

Wählt Elemente mit einem der Attribute aus:

$('.selector[attribute=value], .selector[attribute2=value]')

1voto

George Cummins Punkte 27912
$('.auswähler [attribut=wert][attribut2=wert2]')

Quelle: Mehrfachattribut-Selektor

1voto

Ates Goral Punkte 132294

Die Syntax lautet:

$(".selector[attribute=value][attribute2=value2]")

Aber wenn Sie feststellen, dass Sie komplexe Attributfilter erstellen müssen, könnte die Verwendung der filter()-Funktion eine sauberere Alternative sein:

$(".selector").filter(function () {
    var $el = $(this);
    return $el.attr("attribute") === value &&
           $el.attr("attribute2") === value2;
})

0voto

Surreal Dreams Punkte 25265

Sicherlich können Sie das. Der von Ihnen vorgeschlagene Selektor wählt zwei Gruppen aus, .selector [attribute=value] und [attribute2=value2]. Wenn Sie beide wollen, ist die richtige Syntax $('.selector [attribute=value][attribute2=value2]').

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X