646 Stimmen

jQuery-Selektor reguläre Ausdrücke

Ich bin nach Dokumentation über die Verwendung von Wildcard oder reguläre Ausdrücke (nicht sicher auf die genaue Terminologie) mit einem jQuery-Selektor.

Ich habe selbst danach gesucht, konnte aber keine Informationen über die Syntax und ihre Verwendung finden. Weiß jemand, wo die Dokumentation für diese Syntax zu finden ist?

EDIT: Mit den Attributfiltern können Sie anhand von Mustern eines Attributwerts auswählen.

9voto

brook hong Punkte 563

Fügen Sie eine jQuery-Funktion hinzu,

(function($){
    $.fn.regex = function(pattern, fn, fn_a){
        var fn = fn || $.fn.text;
        return this.filter(function() {
            return pattern.test(fn.apply($(this), fn_a));
        });
    };
})(jQuery);

Dann,

$('span').regex(/Sent/)

wählt alle span-Elemente aus, deren Text mit /Sent/ übereinstimmt.

$('span').regex(/tooltip.year/, $.fn.attr, ['class'])

wählt alle span-Elemente aus, deren Klassen mit /tooltip.year/ übereinstimmen.

7voto

Jānis Elmeris Punkte 1876

Ids und Klassen sind immer noch Attribute, so dass Sie einen Regexp-Attributfilter auf sie anwenden können, wenn Sie entsprechend auswählen. Lesen Sie hier mehr: http://rosshawkins.net/archive/2011/10/14/jquery-wildcard-selectors-some-simple-examples.aspx

2voto

irfan akhtar Punkte 29
$("input[name='option[colour]'] :checked ")

2voto

Vishnu Prasanth G Punkte 985

Ich gebe nur mein Beispiel aus der Praxis:

In nativen Javascript ich folgenden Schnipsel verwendet, um die Elemente mit ids beginnt mit "select2-qownerName_select-result" zu finden.

document.querySelectorAll("[id^='select2-qownerName_select-result']");

Wenn wir von javascript zu jQuery verschoben haben wir oben Schnipsel mit dem folgenden, die weniger Code-Änderungen ohne Störung der Logik beinhaltet ersetzt.

$("[id^='select2-qownerName_select-result']")

1voto

Prakash GPz Punkte 1605

Wenn Sie nur Elemente auswählen möchten, die eine bestimmte Zeichenfolge enthalten, können Sie den folgenden Selektor verwenden:

$(':contains("search string")')

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