0
     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 并附加文本框和标签,如上所示。我的问题是当我尝试附加标签时。

我需要在 text3 之前以相同的方式附加标签并将其设为 div。

我可以在 text1 之后追加,但我不想这样做。在上述情况下,我如何追加和插入?

当我附加它时,它会自动插入到最后。当我只应用 insertbefore 它没有出现在我的 DOM 中时。我怎么做这个工作! 谢谢

4

4 回答 4

0

你应该试试

$(label).insertBefore('#attribute3');
于 2013-09-06T09:09:29.420 回答
0

试试下面的代码。
var text1 = ''; var text3 = $(''); var 标签 = '测试';

var container = $('<div></div>').appendTo($('body'));
container.append(text1);
container.append(text3);
text3.before(Label);
container.append(text3).before(Label);
于 2013-09-06T10:17:18.613 回答
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);
于 2013-09-06T09:13:15.143 回答
0

在这条线之后var Label = '<label id="label1"> test </label>';

$(creatediv).find('#attribute1').after($(Label)); 或者

$(creatediv).find('#attribute3').before($(Label));应该做的伎俩

于 2013-09-06T09:13:23.890 回答