Jquery:结合“each”选择课后的所有内容功能

发布于 2025-01-08 07:58:46 字数 1545 浏览 0 评论 0原文

我只是想选择类“.last”之后的每个元素。

HTML:

<body>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="last"></div>
    <div class="option"></div>
    <div class="option"><img src="a.jpg"/>
    <table>
       <td><tr>1</tr></td>
       <td><tr>2</tr></td>
    </table>

    <div class="option"></div>
</body>

Jquery:

$('.option').nextAll(".last").each(function (i) {

       $(this).css('background-color','red');

});

我想要完成什么:

<body>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="last"></div>
    <div class="option" style="background-color:red;"></div>
            <div class="option" style="background-color:red;"><img style="background-color:red;" src="a.jpg"/>
    <table style="background-color:red;"><td style="background-color:red;"><tr style="background-color:red;">abc</tr></td>
       <td style="background-color:red;"><tr style="background-color:red;">abc</tr></td>
    </table>
    </div>
    <div class="option" style="background-color:red;"></div>
</body>

编辑:

我需要选择 .last 类下面的所有元素

I just simply want to select each element after the class ".last".

HTML:

<body>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="last"></div>
    <div class="option"></div>
    <div class="option"><img src="a.jpg"/>
    <table>
       <td><tr>1</tr></td>
       <td><tr>2</tr></td>
    </table>

    <div class="option"></div>
</body>

Jquery:

$('.option').nextAll(".last").each(function (i) {

       $(this).css('background-color','red');

});

What I want to acomplish:

<body>
    <div class="option"></div>
    <div class="option"></div>
    <div class="option"></div>
    <div class="last"></div>
    <div class="option" style="background-color:red;"></div>
            <div class="option" style="background-color:red;"><img style="background-color:red;" src="a.jpg"/>
    <table style="background-color:red;"><td style="background-color:red;"><tr style="background-color:red;">abc</tr></td>
       <td style="background-color:red;"><tr style="background-color:red;">abc</tr></td>
    </table>
    </div>
    <div class="option" style="background-color:red;"></div>
</body>

EDIT:

I need to select ALL elements below .last class

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

纸伞微斜 2025-01-15 07:58:46

您几乎已经拥有它:

$('.last').nextAll().each(function (i) {

或者更简洁地说:

$('.last').nextAll().css('background-color','red');

http://api.jquery.com/nextAll/

You almost had it:

$('.last').nextAll().each(function (i) {

or more succinctly:

$('.last').nextAll().css('background-color','red');

http://api.jquery.com/nextAll/

木格 2025-01-15 07:58:46

试试这个选择器: http://api.jquery.com/next-siblings-selector/

您应该能够为 class="last" 提供一个选择器,然后为之后的任何内容提供选择器:

$('.last ~ .option')

Try this selector: http://api.jquery.com/next-siblings-selector/

You should be able to provide a selector for class="last" then a selector for anything after that:

$('.last ~ .option')
同尘 2025-01-15 07:58:46

考虑到您想要实现的目标,为什么需要each

$('.last').nextAll().css('background-color','red');

Given what you want to accomplish, why do you need each?

$('.last').nextAll().css('background-color','red');
时常饿 2025-01-15 07:58:46

http://jsfiddle.net/PWc3q/2/

$('.last').nextAll(".option").css('background-color', 'red');

http://jsfiddle.net/PWc3q/2/

$('.last').nextAll(".option").css('background-color', 'red');
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文