JQuery: добавить рядом с последним? - PullRequest
1 голос
/ 27 мая 2011

Вот мой HTML:

<ol>
  <li>Item 1</li>
  <li>Item 2</li>
  <li>Item 3</li>
</ol>

Затем я добавляю новый элемент с этим: $('ol').append('<li>New item</li>');

Но я хочу добавить это новое перед последним элементом. Таким образом, в этом примере новый элемент списка будет размещен между вторым и третьим. Количество элементов в списке может быть от 2 до сотен, но оно всегда должно вставляться перед следующим за последним элементом.

Ответы [ 4 ]

13 голосов
/ 27 мая 2011

Для этого вы должны выбрать последний элемент списка и затем сказать jQuery добавить новый элемент перед выбранным:

$('ol li:last').before('<li>New item</li>');
2 голосов
/ 27 мая 2011
$('ol').last().prev().append('<li>New item</li>');

должно работать, я верю.

Или действительно, то, что сказал человек выше и ниже меня, выглядит немного аккуратнее

2 голосов
/ 27 мая 2011

Это должно сработать

$('ol li:last').before('<li>New item</li>');

Пример jsfiddle

0 голосов
/ 29 сентября 2012

У меня были проблемы с этим, когда последний элемент списка имел специальный класс. Мне нужно было сделать это:

<ul id="my_ul">
   <li>One</li>
   <li>Two</li>
   <li class="last_class">Always Last</li>
</ul>

$('#my_ul li.last_class').before('<li>New Item</li>');
...