Jquery: выбрать все после класса в сочетании с функцией «каждая» - PullRequest
2 голосов
/ 21 февраля 2012

Я просто хочу выбрать каждый элемент после класса ".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>

EDIT:

Мне нужно выбрать ВСЕ элементы ниже .last class

Ответы [ 4 ]

5 голосов
/ 21 февраля 2012

У вас почти было это:

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

или более кратко:

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

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

2 голосов
/ 21 февраля 2012

Попробуйте этот селектор: http://api.jquery.com/next-siblings-selector/

Вы должны быть в состоянии предоставить селектор для class = "last", а затем селектор для чего-либо после этого:

$('.last ~ .option')
1 голос
/ 21 февраля 2012

Учитывая то, что вы хотите достичь, зачем вам нужно each?

$('.last').nextAll().css('background-color','red');
0 голосов
/ 21 февраля 2012

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

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