如果列表中预先存在添加的元素,则jQuery appendTo将替换元素而不是添加它们

时间:2012-08-29 06:03:22

标签: javascript jquery html

<select id="name" >
    <option value="" selected="selected">Please select</option>
    <option value="Alex">Alex</option>
    <option value="Greg">Greg</option>
</select>

如果我们尝试通过

附加一个选项

$('<option>Hi</option>').appendTo($('#name'))

然后,该选项将添加到选择框中,如预期的那样。但是,如果我们执行以下操作:

var a = $('#name option')[1];
$(a).appendTo($('#name'));

然后,该选项不会附加到选项。相反,“亚历克斯”现在到了最后。我的问题是,最后应该附加另一个“Alex”选项,原来的“Alex”留在原位

2 个答案:

答案 0 :(得分:5)

$('#name option')[1] 

选择元素。

当您选择元素时,您可以选择它。洛尔..

不是 COPIED 。要获得所需的结果,您必须

var a = $('#name option')[1];
$(a).clone().appendTo($('#name'));

答案 1 :(得分:0)

尝试

               $('#name').appendChid(option element);

或  试试这个

            var container1 = document.getElementById('keylist');
            var new_element1 = document.createElement('OPTION');
            new_element1.text= m1[h1];
            container1.insertBefore(new_element1, container1.lastChild);