在jQuery中包装生成的元素

时间:2013-06-03 14:26:15

标签: javascript jquery

我正在努力创造这个:

<label><input id=""><span>Lorem ipsum dolor</span></label>

这是我的代码:

$('.property .includes')
    .append('<label>').html(
        $('<input>').attr('id', this.id) +
        $('<span>').html(this.description)
    );

它似乎不起作用,因为它只是说,“[对象] [对象]。”

如何创建上面的代码?

4 个答案:

答案 0 :(得分:4)

您必须将代码更改为:

$('<label/>')
    .append( $('<input>').attr('id', this.id) )
    .append( $('<span>').html(this.description) )
    .appendTo('.property .includes');

我也非常确定你试图将span和input元素附加到label元素。

我也选择使用.appendTo而不是嵌套函数调用:

$('.property .includes').append(
  $('<label/>')
    .append( $('<input>').attr('id', this.id) )
    .append( $('<span>').html(this.description) )
);

答案 1 :(得分:1)

您应该执行以下操作:

var label = $("<label />").html(
    "<input id='" + this.id + "'>" +
    "<span>" + this.description + "</span>"
);
$('.property .includes').append( label );

答案 2 :(得分:1)

尝试使用如下,

$('.property .includes').append(
           $('<label />').append($('<input />', {'id': this.id}))
                         .append($('<span />').html(this.description))
     );

DEMO: http://jsfiddle.net/FJAjK/

答案 3 :(得分:1)

mkoryak打败了我。

    $('.property .include').append($('<label></label>')
                              .append($('<input></input>').attr('id', this.id))
                              .append($('<span></span>').html(this.description)));

这里也是JsFiddle