.next () находит ближайшего родственника к выбранному вами элементу. В вашем случае выбранный промежуток имеет привязку в качестве следующего брата, а затем ничего. Вам нужно будет вернуться к родительскому li с помощью parent ("li"), использовать next (), чтобы перейти к следующему li в списке, а затем использовать find ("span span"), чтобы добраться до рассматриваемого диапазона. .
Вероятно, легче и намного более читабельно выбрать все пролеты, а затем редактировать каждый в отдельности, например ::1003
$(function() {
$("a", "div.top_menu").addClass("ui-icons-custom");
var $spans = $("span.ui-icon", "ul.top_menu_list");
// end() reverts us back to the selector before each eq()
// you can just make this three separate statements if you like
$spans.eq(0).addClass("ui-icon-pencil").end()
.eq(1).addClass("ui-icon-comment").end()
.eq(2).addClass("ui-icon-key");
});
Э-э, и из любопытства, что мешает вам добавлять классы к элементам напрямую, а не использовать jQuery для этого?