5

我在一个页面中有很多次:

<a class="showComment" style="cursor: pointer;"><i class="icon-comment"></i> Views</a>
<br />
<br />
<div class="writeComment" style="height: auto; width: 700px;" dir="ltr" hidden="hidden">
</div>

我现在正在为a.showComment单击事件编写 js 文件中的代码。现在我想选择下一个div.writeComment。如何选择它?

4

5 回答 5

3

在变量 nextDiv 中,你可以做任何你想做的事情。
Using.nextAll()方法允许我们在 DOM 树中搜索这些元素的后继元素,并从匹配的元素中构造一个新的 jQuery 对象。

改为使用.next()您在单击的 DOM 元素后进行搜索,试试这个:

 $('.showComment').click(function(){
        var nextDiv = $(this).nextAll("div.writeComment");
    });

或者

$('.showComment').click(function(){
            var nextDiv =  $('.showComment').next().find('.writeComment')
        });

或者

$('.showComment').click(function(){
        var nextDiv = $(this).next("div.writeComment");
    });
于 2013-06-11T15:12:11.343 回答
3

下一个()没有工作。

nextAll() 适用于我的 .showComment 元素之后的所有 .writeComment 元素。但我发现了问题。下面的代码做到了。

$('.showComment').click(function(){
     $(this).nextAll(".writeComment").first();
});
于 2013-06-11T15:26:17.843 回答
2

这可能会向您展示使用 next() http://api.jquery.com/next/的正确方式 。选择器将如下所示:

所以:

$('.showComment').next('.writeComment')

或者:

$('.showComment').next().find('.writeComment')
于 2013-06-11T15:12:08.697 回答
-1

我假设你使用 jQuery。否则,我强烈建议您这样做。它有一个下一条语句

$('#foo').next().css('background-color', 'red');

在 foo th background:red 之后设置元素。

于 2013-06-11T15:11:54.677 回答
-1

使用~选择器。jQuery 参考

$('a.showComment ~ div.writeComment')
于 2013-06-11T15:13:24.450 回答