【发布时间】:2011-09-08 10:09:00
【问题描述】:
http://jsfiddle.net/mplungjan/H9Raz/
在对 next('a') 等进行了相当多的测试之后,我终于找到了一个可行的方法。 我只是想知道为什么 next('a') 没有,或者最接近或类似。在我单击复选框后,是否有更简洁的方法可以获取链接的 href?
$('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>
【问题讨论】:
-
您不能使用
next(),因为<br>元素会妨碍您。所以,就我所知,nextAll()确实是最好的解决方案。 -
这当然也有效。但是更hackier并且需要
标签。 jsfiddle.net/AFFr3 -
@mplungjan 您可以通过将 ANCHOR 或 INPUT(或两者)声明为块级元素(当然,仅在本地,而不是整个页面)来放弃 BR 元素。这将是我的建议... 现场演示: jsfiddle.net/H9Raz/4
-
@Fred @Arend,但我使用了next("a") - 应该忽略我认为的 br!
-
@Andy:你添加了一个 lang:html 的东西——很有趣。会尽量记住这一点。