Der sauberste Weg, um das nächste Geschwister in jQuery zu bekommen

http://jsfiddle.net/mplungjan/H9Raz/

Nachdem schon einige tests mit der nächsten('a') und so habe ich endlich eine gefunden, die funktioniert.
Ich Frage mich nur, warum Sie auf weiter('a') nicht, oder am nächsten oder ähnliches. Gibt es Reiniger Möglichkeiten, wie man an die href der link, nachdem die checkbox klicke ich?

$('form input:checkbox').click(function () {
 alert($(this).nextAll('a').attr("href"));
}); 
<form>
  <div>
    <input type="checkbox" name="checkThis" value="http://www.google.com" />Check here<br/>
    <a href="http://www.google.com">click here</a><br>   
    <input type="checkbox" name="checkThis" value="http://www.bing.com" />Check here<br/>
    <a href="http://www.bing.com">click here</a>       
  </div>
</form>
Kommentar zu dem Problem
Sie können nicht verwenden Sie next(), weil die <br> - element ist im Weg. So, nextAll() ist in der Tat die beste Lösung, soweit ich das sagen kann. Kommentarautor: Frédéric Hamidi
Dies natürlich auch funktioniert. Aber ist hackier und erfordert die <br> - tag. jsfiddle.net/AFFr3 Kommentarautor: Arend
@mplungjan können Sie Graben die BR-Elemente, indem er die ANKER und die oder-EINGANG (oder beide) werden block-level-Elemente (natürlich nur lokal, nicht für die ganze Seite). Das wäre meine Empfehlung... demo: jsfiddle.net/H9Raz/4 Kommentarautor: Šime Vidas
@Fred @Arend, aber ich habe weiter("a") - ignorieren sollte, der br würde ich denken! Kommentarautor: mplungjan
@Andy: Sie Hinzugefügt, lang:html-Ding - interessant. Werde versuchen daran zu denken, dass. Kommentarautor: mplungjan

InformationsquelleAutor der Frage mplungjan | 2011-06-04

Schreibe einen Kommentar