Функция printf
записывает в stdout
. Если дескриптор файла, подключенный к stdout
, перенаправляется на /dev/null
, то нигде не будет записано никакого вывода (но он все равно будет записан), но вызов самого printf
и его форматирование все равно произойдут. [115 ]
Легкая ошибка сделать. Попробуйте это:
$("#sidebar ul li:last-child").addClass("last");
В основном: в последний раз не вполне делает то, что Вы думаете, что это делает. Это только соответствует самому последнему в документе, не последнему в каждом списке. Это что: последний ребенок для.
Причина, которая не будет работать, состоит в том вследствие того, что :last
только соответствия один элемент. Из документации jQuery:
Соответствует последнему выбранному элементу.
Таким образом, то, что делает Ваш код, получает ряд весь <li>
элементы в a <ul>
и затем от того набора, принимающего последнее значение. Пример:
<ul>
<li>1</li>
<li>2</li>
</ul>
<ul>
<li>3</li>
<li>4</li>
</ul>
<ul>
<li>5</li>
<li>6</li>
</ul>
Ваш код возвратил бы элемент <li>6</li>
. (Внутренне, это собралось бы <li>1</li>
кому: <li>6</li>
и затем сократите последний и возвратите его).
То, что Вы ищете, - то, что здесь сказали другие ответы: :last-child
.
Или Вы могли дать Вашему списку идентификатор и использование что как контекст к вызову jQuery.
<ul id="myList">
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
<ul id="anotherList">
<li>Item</li>
<li>Item</li>
<li>Item</li>
<li>Item</li>
</ul>
И затем можно сделать:
jQuery("li:last", "ul#myList").addClass("lastItem");
Теперь последний литий в первом списке имел бы класс "lastItem".
Править: Извините, неправильно читайте вопрос. Проигнорируйте это.
можно попробовать
$('#sidebar ul li:last').addClass('last');