Как выделить элементы между интервалами - PullRequest
6 голосов
/ 14 января 2011

У меня есть HTML и я хочу выбрать интервал 5 элементов с 10-й позиции Как это сделать?

Мой HTML:

<div class="chaire">
   <img alt="" src="2.gif">

</div>
<div class="chaire">
   <img alt="" src="2.gif">
</div>
<div class="chaire">
   <img alt="" src="2.gif">
</div>
<div class="chaire">
   <img alt="" src="2.gif">
</div>
...
<div class="chaire">
   <img alt="" src="2.gif">
</div>

Я пытаюсь с jquery:

$(".chaire:gt(10):lt(15)");

но я выбрал теги div и img. Но мне нужны теги div.

Ответы [ 2 ]

4 голосов
/ 14 января 2011

Ваш код отлично выполняет свою работу и выбирает только <div> элементы. Взгляните на этот пример скрипки , который находит 5 <div> элементов после 10-го (:gt(9):lt(15)).

<ч /> Селектор, который у вас есть, будет выбирать только элементы с этим именем класса, в случае вашего примера HTML это просто элементы <div>. Элементы <img> не будут выбраны. Как уже указывалось rcravens , два селектора изменяют результат отдельно, поэтому сначала нужно использовать :lt() - :lt(15):gt(9).

Обновлен пример по адресу: http://jsfiddle.net/teQkf/3/. Следующая часть кода примера находит элементы <img> в результате и изменяет их src на что-то другое.

Вам лучше использовать slice, что является всего лишь одной операцией для результата и, следовательно, менее запутанным, не говоря уже о быстром:

$(".chaire").slice(10,15);

(пример)

2 голосов
/ 14 января 2011

попробуйте это:

$(".chaire:gt(10):lt(5)");

Вот jFiddle, с которым можно поиграть.

http://jsfiddle.net/rcravens/m3j6K/

Похоже, что цепочка селекторов 'gt' и 'lt' означает, что 'lt' применяется к тому, что остается после 'gt'.

Bob

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...