Javascript 在jQuery中包装生成的元素
我正在尝试创建以下内容:Javascript 在jQuery中包装生成的元素,javascript,jquery,Javascript,Jquery,我正在尝试创建以下内容: <label><input id=""><span>Lorem ipsum dolor</span></label> 这是我的代码: $('.property .includes') .append('<label>').html( $('<input>').attr('id', this.id) + $('<span>').html
<label><input id=""><span>Lorem ipsum dolor</span></label>
这是我的代码:
$('.property .includes')
.append('<label>').html(
$('<input>').attr('id', this.id) +
$('<span>').html(this.description)
);
它似乎不起作用,因为它只是说,[对象][对象]
如何创建上述代码?您应该执行以下操作:
var label = $("<label />").html(
"<input id='" + this.id + "'>" +
"<span>" + this.description + "</span>"
);
$('.property .includes').append( label );
您应该执行以下操作:
var label = $("<label />").html(
"<input id='" + this.id + "'>" +
"<span>" + this.description + "</span>"
);
$('.property .includes').append( label );
您必须将代码更改为:
$('<label/>')
.append( $('<input>').attr('id', this.id) )
.append( $('<span>').html(this.description) )
.appendTo('.property .includes');
您必须将代码更改为:
$('<label/>')
.append( $('<input>').attr('id', this.id) )
.append( $('<span>').html(this.description) )
.appendTo('.property .includes');
试着用下面的方法
$('.property .includes').append(
$('<label />').append($('<input />', {'id': this.id}))
.append($('<span />').html(this.description))
);
演示:尝试使用下面的方法
$('.property .includes').append(
$('<label />').append($('<input />', {'id': this.id}))
.append($('<span />').html(this.description))
);
演示:mkoryak击败了我
$('.property .include').append($('<label></label>')
.append($('<input></input>').attr('id', this.id))
.append($('<span></span>').html(this.description)));
这里也有一个答案mkoryak比我先到
$('.property .include').append($('<label></label>')
.append($('<input></input>').attr('id', this.id))
.append($('<span></span>').html(this.description)));
这里也有一个例子html将用于.property.includes,而不是在标签上。您将连接javascript对象$'some-sleector'实际上是一个字符串形式的对象,这就是为什么javascript类型将对象强制转换为[object],并创建字符串“[object]”+“[object]”。正如评论员已经注意到的那样,您应该使用.append。html将用于.property.includes,而不是在label上。您将连接javascript对象。$'some-sleector'实际上是一个字符串形式的对象,这就是为什么javascript类型将对象强制转换为[object],并创建字符串“[object]”+“[object]”。正如评论员已经注意到的那样,您应该使用.append。为什么不使用:.append$.attr'id',this.id,$.htmlthis.description?@NicoSantangelo这更漂亮。我甚至不知道那是可能的。我必须说,我通常不使用.append,我喜欢使用模板来创建我的DOM结构,我发现它更易于维护。如果你将.html改为.text,我会给你一个升级票…@Bergi。那我不想你投我一票。我没有看到OP说this.description只包含文本而不包含html片段。为什么不使用:.append$.attr'id',this.id,$.htmlthis.description?@NicoSantangelo这更漂亮。我甚至不知道那是可能的。我必须说,我通常不使用.append,我喜欢使用模板来创建我的DOM结构,我发现它更易于维护。如果你将.html改为.text,我会给你一个升级票…@Bergi。那我不想你投我一票。我没见过OP说this.description只包含文本而不包含html片段。你不应该将jQuery对象传递给。htmlYou不应该将jQuery对象传递给。htmlWhy应该?为什么要将DOM创建与innerHTML混合使用?为什么要?为什么要将DOM创建与innerHTML混合使用?