http://jsfiddle.net/3Bvt9/3/jQuery kann nicht .closest(), um die Suche auf DOM-Baum
HTML
<div id="div1">
<img class="size" src="">
<input name="rdo" id="rdo" type="radio" value="1">
<div id="div2">
<label>radiobutton</label>
<div id="div3">
<a href="javascript:void(0)">link</a>
<input name="abc" id="abc" type="hidden" value="1">
</div>
</div>
</div>
jquery
$('#abc').parent().parent().parent().find("input[type='radio']").length; //1
$('#abc').closest("input[type='radio']").length; //0 why?
Warum funktioniert die nächste Abfrage Arbeit? Ich dachte, engste() durchläuft seine Vorfahren im DOM-Baum.
_I dachte am nächsten() durchläuft in dem DOM durch seine Vorfahren bis tree._ Ja, aber ein Eingang kann kein übergeordnetes Element sein. – undefined
Die Dokumentation lautet: "Ermitteln Sie für jedes Element in der Gruppe das erste Element, das mit dem Selektor übereinstimmt, indem Sie das Element selbst testen und durch seine Vorfahren in der DOM-Struktur navigieren." Würde dieser Selektor nicht mit dem ersten gefundenen Radioeingang übereinstimmen? Welche sind gültige Eltern? Kann .closes() nur diese Typen finden? – duyn9uyen
Was ist los mit den Schlussabstimmen btw? Es ist eine echte Frage "Warum funktioniert das nicht" mit einer offensichtlichen Antwort. –