2011-12-28 2 views
2

страница Я пытаюсь загрузить что-то вроде этого (хотя, количество абзацев с классом «текст» меняется каждый раз):JQuery загрузить первые десять элементов с определенным классом

<html> 
<body> 
<div id="container"> 
<p class="text">1</p> 
<p class="text">2</p> 
<p class="text">3</p> 
<p class="text">4</p> 
<p class="text">5</p> 
<p class="text">6</p> 
<p class="text">7</p> 
<p class="text">8</p> 
<p class="text">9</p> 
<p class="text">10</p> 
<p class="text">11</p> 
<p class="text">12</p> 
<p class="text">13</p> 
<p class="text">14</p> 
<p class="text">15</p> 
<p class="text">16</p> 
<p class="text">17</p> 
<p class="text">18</p> 
<p class="text">19</p> 
<p class="text">20</p> 
<p class="sometext">Some other text here</p> 
</div> 
</body> 
</html> 

Можно ли загружать только первые десять абзацев с помощью jQuery с чем-то вроде $('#text').load('other_file.html #container .p');?

ответ

5

Используйте селектор :lt(). Это 0, поэтому p:lt(10) должен загрузить первые 10 p элементов.

$('#text').load('other_file.html #container p:lt(10)'); 

Помните, что весь ответ все еще загружается, через селектор отображается только подразделение.

+0

Как я могу использовать это, чтобы загрузить следующую 10, так что от 10-20? –

2

Вы, вероятно, хотите использовать :lt() селектор:

$('#text').load('other_file.html #container p:lt(10)'); 
0

Вы можете использовать селектор CSS3-стиля, чтобы загрузить только первый 10 элементов:

$('#text').load('other_file.html #container .p:nth-child(-n+10)'); 

Это будет загружать первые 10 p элементов в пределах #container.

Docs: http://api.jquery.com/nth-child-selector/ (Обратите внимание, что nth-child начинается в одном, а не ноль)

Смежные вопросы