中的.next()元素这是我有:选择具有特定属性的JQUERY
$("#comment").next().attr('shown',0).fadeIn();
我想显示下是隐藏页面上的评论。然而,我试图一次显示两条评论,所以如果你点击第一条,第二条就是下一条。所以我给出了显示的属性。我想选择具有shown=0
属性的下一个。上述不起作用。我相信这将是next(tr[shown=0])
,但我不能得到那个工作(我在表中寻找下一行)
任何帮助表示赞赏!
中的.next()元素这是我有:选择具有特定属性的JQUERY
$("#comment").next().attr('shown',0).fadeIn();
我想显示下是隐藏页面上的评论。然而,我试图一次显示两条评论,所以如果你点击第一条,第二条就是下一条。所以我给出了显示的属性。我想选择具有shown=0
属性的下一个。上述不起作用。我相信这将是next(tr[shown=0])
,但我不能得到那个工作(我在表中寻找下一行)
任何帮助表示赞赏!
next
只能返回紧邻的下一个兄弟。
你可以叫nextAll
,它返回所有后续的兄弟姐妹,与:first
选择来获得的第一个匹配一个:
$(...).nextAll("tr[shown=0]:first")
SLaks回答会的工作,但我不会用你的HTML作为自定义属性考虑它可能会混淆下一个开发者。像这样的不使用自定义属性:
<style>
.hidden {
display:none;
}
</style>
<script>
$(document).ready(function(){
$('.showmore').click(function(){
$(this).parent().nextAll(':hidden:first').removeClass('hidden');
})
});
</script>
<div id="comments">
<div class="comment" id="comment1">
Test comment
<a href="#" class="showmore">Show More</a>
</div>
<div class="comment" id="comment2">
2nd test comment
<a href="#" class="showmore">Show More</a>
</div>
<div class="comment hidden" id="comment3">
3rd test comment
</div>
<div class="comment hidden" id="comment4">
4th test comment
</div>
</div>
我知道这是一个古老的职位,但只是标题的第一个答案把我摔下去。然而@SLaks的答案正是我个人正在寻找并解决我的问题。
这实际上帮助我在完全不同的情况下发生了很多事情,而恰巧发现了这篇文章。这个答案是他回复中提到的最好的答案。
我遇到的问题类似于下面的内容,为了得到下一个具有类似属性名称但不同值的特定属性。
<div class="blah" data-field="sometext" data-index="0"></div>
<div class="bar"></div>
<div class="blah" data-field="sometext" data-index="1"></div>
$("div[data-field='sometext'][data-index='0']")
.nextAll("div[data-field='sometext']:first");
以上返回
<div class="blah" data-field="sometext" data-index="1"></div>
希望这可以帮助其他人,因为它帮了我很大的
这可能是因为“显示”是不是在HTML默认属性?改为使用ID,班级或名称。 – Warface