有用:
<div class="xpav">
Create
</div>
<div class="apr" style="display: none;">
sometext
</div>
<script>
$('.xpav').click(function() {
$(this).next(".apr").slideDown("fast");
})
</script>
Run Code Online (Sandbox Code Playgroud)
它没有:
<div class="xpav">
Create
</div>
<br />
<div class="apr" style="display: none;">
sometext
</div>
<script>
$('.xpav').click(function() {
$(this).next(".apr").slideDown("fast");
})
</script>
Run Code Online (Sandbox Code Playgroud)
为什么
打破它?
.next()只查看给定元素后面的元素,然后检查该元素是否与选择器一起提供.在你的第二个例子中,因为它br在那里并且没有apr类,所以它没有被拾取.来自API文档:
描述:获取匹配元素集中每个元素的紧随其后的兄弟.如果提供了选择器,则仅当它与该选择器匹配时,它才会检索下一个兄弟.
您的第二个示例需要使用.nextAll()而不是搜索所有下一个兄弟姐妹:
$('.xpav').click(function() {
$(this).nextAll(".apr").slideDown("fast");
});
Run Code Online (Sandbox Code Playgroud)
要仅选取.apr匹配的第一个,请使用.eq(0):
$('.xpav').click(function() {
$(this).nextAll(".apr").eq(0).slideDown("fast");
});
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
77 次 |
| 最近记录: |