jQuery:追加多个元素

时间:2014-09-25 20:30:46

标签: jquery for-loop append

我正在烘干以根据“n”的值动态添加订单项;即使循环运行多次,jQuery也只会附加一次。

有关如何追加“n”个订单项的建议?

var t = $(this);
var counter = $("<ol class='slide-counter'></ol>");
var dot = $("<li></li>");

if (n > 1) {
    t.append(counter);
    for (var i = 0; i < n; i++) {
        counter.append(dot);
    }
    $(".slide-counter li:first-child").addClass("active");
}

3 个答案:

答案 0 :(得分:0)

每次都需要添加一个'new'元素,你可以通过将dot移动到for循环来实现这个目的

var t = $(this);
var counter = $("<ol class='slide-counter'></ol>");

if (n > 1) {
    t.append(counter);
    for (var i = 0; i < n; i++) {
        var dot = $("<li></li>");
        counter.append(dot);
    }
    $(".slide-counter li:first-child").addClass("active");
}

答案 1 :(得分:0)

我认为你需要将点变成一个字符串,否则你会尝试不止一次地添加一个独特的元素。

答案 2 :(得分:0)

我很感激帮助。 Ninsly的建议使其成功,但DaveB的回答也奏效了。

这是我最终使用的......

var t = $(this);
var counter = $("<ol class='slide-counter'></ol>");
var dot = $("<li></li>");

if (n > 1) {
    t.append(counter);
    for (var i = 0; i < n; i++) {
        counter.append(dot.clone());
    }
    $(".slide-counter li:first-child").addClass("active");
}