3 Stimmen

jQuery - Kann ich Objektreferenz mit anderen Selektoren kombinieren?

Gelegentlich übergebe ich ein "Objekt" an jQuery, anstatt eine ID oder andere Selektoren. Zum Beispiel

<input type="text" onclick="doit(this)" />

<script type="text/javascript">
function doit(e) {
    var a = $(e).val();
}

Es ist nützlich, wenn ids nicht geeignet sind, z. B. bei langen Listen von Elementen oder dynamisch erstellten Eingabefeldern. Ich habe eigentlich keine Beispiele für die Übergabe des Objekts gesehen. Ich habe es gerade ausprobiert und es funktioniert.

Meine Frage ist: kann ich Objektselektor mit anderen Selektoren kombinieren, wie ich mit ids würde. so statt:

$("#myDiv .myClass").something()

Ich wüsste nicht, wie ich das programmieren sollte - vielleicht so etwas:

$(e + " .myclass").something

danke

6voto

user113716 Punkte 309387

Tun Sie dies:

$(e).find(".myclass").something();

oder die etwas kürzere, aber weniger effiziente Version:

$(".myclass", e).something();

Der Grund, warum Sie nicht + ist, dass Ihr e ist ein DOM-Element, das sich nicht für die Verkettung in einer Selektorzeichenkette eignet, da man am Ende etwas wie:

"[object HTMLInputElement] .myclass"

2voto

John Hartsock Punkte 82122

Dies ist eine Möglichkeit. Kontext-Parameter in jQuery .

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

$(".myclass", e).something();

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