0
var form_error = jQuery('<div/>').attr('class', 'input-error').append(jQuery('<div/>').attr('class', 'error-label'));
var registration_fields_list = jQuery('<ul/>');

jQuery.each(registration_fields, function(){
    var label = jQuery('<label/>').text(this.label);
    var field = null;

    field = jQuery('<input/>').attr({'name': this.input_name, 'class': this.input_class, 'type': (typeof this.type != 'undefined' ? this.type : 'text')});

    console.log(jQuery('<li/>').append(label, field, form_error));
});

我找不到问题,但问题是form_error它只附加到最后一个li,而不是每个。我哪里错了?

4

1 回答 1

0

每次要附加它时都必须创建一个新的 form_error 元素,因为 .append() 不会克隆现有的元素。

如果以这种方式选择的元素被插入到 DOM 中其他位置的单个位置,它将被移动到目标中(不克隆)

http://api.jquery.com/append/

于 2013-02-12T10:34:06.193 回答