у меня есть этот
$.each(data, function (url) {
$("ul").append($("<li class='horizontal'></li>").html(this.title));
});
Я хочу, чтобы добавить класс последнего к последнему ... как бы я это сделать
у меня есть этот
$.each(data, function (url) {
$("ul").append($("<li class='horizontal'></li>").html(this.title));
});
Я хочу, чтобы добавить класс последнего к последнему ... как бы я это сделать
$.each(data, function(i,v){
$('<li />').html(v.title).appendTo('ul');
});
$('ul li:last').addClass('horizontal');
Если данные массив, вы могли бы сделать
data.length
, и это даст вам количество. Затем можно было бы нести счетчик внутри .each и проверить, попали ли вы к последнему элементу.
Что-то вроде этого ... но в jquery должен быть последний селектор.
Вы имеете в виду UL или LI? Просто сделайте (после цикла):
$("#theUl li:last").addClass("horizontal"); // or $("ul:last"), whichever you mean
Вы можете сделать это в цикле, но я бы не советовал, так как она требует проверки на каждой итерации.
Для лучшей эффективности работы, вы можете уменьшить количество операций записи в DOM путем создания ЛИС автономный и добавление их в один присест:
var lis = '';
$.each(data, function (url) {
lis += "<li>" + this.title + "</li>";
});
$("ul").append(lis);
$("ul li:last").addClass("horizontal");
Не должно быть 'lis + ="
@Rocket - Я вижу вашу точку зрения, спасибо за это, исправлено. – karim79
$.each(data, function (url) {
$("ul").append($("<li class='horizontal'></li>").html(this.title));
});
$("ul li:last").addClass("last");
Я предполагаю, что есть только 1 ul, и вы хотите добавить класс 'horizonal' к последнему li? Вы действительно должны объяснить это в вопросе. –