var creatediv = document.createElement("div");
var text1 = '<input id="attribute1" type="text" placeholder="Attribute" />
$(creatediv).append(text1);
var text3 = '<input id="attribute3" type="text" placeholder="Attribute" />
$(creatediv).append(text3);
var Label = '<label id="label1"> test </label>';
$(Label).Insertbefore(text3);
$(creatediv).append(Label);
使用上述方法创建div并附加文本框和标签,如上所示。我的问题是当我尝试追加Label时。
我需要在text3之前以相同的方式添加标签,并将其设为div。
我可以在text1之后添加,但我不想这样做。在上述场景中,我如何追加和插入?
当我追加它时会自动插入到最后一个。 当我只应用insert之前它没有出现在我的DOM中。 我该怎么做才能做到这一点! 感谢
答案 0 :(得分:0)
你应该试试
$(label).insertBefore('#attribute3');
答案 1 :(得分:0)
首先,它应该是insertBefore()
- 请注意小写i
。其次,您根本不会将您创建的div
附加到DOM。最后,你的代码是本机JS和jQuery的奇怪组合。试试这个:
var $div = $('<div />').appendTo('body');
// you can change where the div is appended above
var $text1 = $('<input />', {
id: 'attribute1',
type: 'text',
placeholder: 'Attribute'
});
var $text3 = $('<input />', {
id: 'attribute3',
type: 'text'
placeholder: 'Attribute'
});
$div.append(text1, text3);
var $label = $('<label />', {
id: 'label1',
text: ' test '
});
$label.insertbefore($text3);
答案 2 :(得分:0)
此行var Label = '<label id="label1"> test </label>';
$(creatediv).find('#attribute1').after($(Label));
或者
$(creatediv).find('#attribute3').before($(Label));
应该做的伎俩