Javascript 在JQuery中运行时添加HTML元素-未按预期工作

Javascript 在JQuery中运行时添加HTML元素-未按预期工作,javascript,jquery,html,Javascript,Jquery,Html,我在运行时通过Javascript文件中的AJAX调用添加HTML元素 $("#myList").append("<select id=\"mlist\" >"); for(var i=0;i<datas.length;i++){ $("#myList").append("<option>"+datas[i]+"</option>"); } $("#myList").append("</sele

我在运行时通过Javascript文件中的AJAX调用添加HTML元素

    $("#myList").append("<select id=\"mlist\" >");

    for(var i=0;i<datas.length;i++){
        $("#myList").append("<option>"+datas[i]+"</option>");
     }

    $("#myList").append("</select>");
我想使用组合框下拉元素来显示数据列表。为了实现这一点,我在脚本文件中尝试如下操作

    $("#myList").append("<select id=\"mlist\" >");

    for(var i=0;i<datas.length;i++){
        $("#myList").append("<option>"+datas[i]+"</option>");
     }

    $("#myList").append("</select>");
$(“#myList”)。追加(“”);

对于(var i=0;i这不是您要做的。您需要找到已经附加的
,然后附加到它

var slct =  $("#myList").append("<select id='mlist' />").find('#mlist'); // append the select and find it
for(var i = 0; i < datas.length; i++) {
    slct.append("<option />", { text: datas[i] }); // now append
}
var slct=$(“#myList”).append(“”).find(“#mlist”);//追加select并查找它
对于(变量i=0;i
你不是这样做的。你需要找到已经附加的
,然后附加到它

var slct =  $("#myList").append("<select id='mlist' />").find('#mlist'); // append the select and find it
for(var i = 0; i < datas.length; i++) {
    slct.append("<option />", { text: datas[i] }); // now append
}
var slct=$(“#myList”).append(“”).find(“#mlist”);//追加select并查找它
对于(变量i=0;i
你不是这样做的。你需要找到已经附加的
,然后附加到它

var slct =  $("#myList").append("<select id='mlist' />").find('#mlist'); // append the select and find it
for(var i = 0; i < datas.length; i++) {
    slct.append("<option />", { text: datas[i] }); // now append
}
var slct=$(“#myList”).append(“”).find(“#mlist”);//追加select并查找它
对于(变量i=0;i
你不是这样做的。你需要找到已经附加的
,然后附加到它

var slct =  $("#myList").append("<select id='mlist' />").find('#mlist'); // append the select and find it
for(var i = 0; i < datas.length; i++) {
    slct.append("<option />", { text: datas[i] }); // now append
}
var slct=$(“#myList”).append(“”).find(“#mlist”);//追加select并查找它
对于(变量i=0;i
添加元素时,它会自动关闭,因此不需要第二个
append()
来添加关闭标记

此外,您需要将
选项
元素附加到
选择
,而不是
#我的列表
。请尝试以下操作:

var $select = $("<select />", { id: 'mlist' }).appendTo('#myList');
for (var i = 0; i < datas.length; i++) {
    $select.append($('<option />', { text: datas[i] }));
}
var$select=$(“”,{id:'mlist'});
对于(变量i=0;i
添加元素时,它会自动关闭,因此不需要第二个
append()
来添加关闭标记

此外,您需要将
选项
元素附加到
选择
,而不是
#我的列表
。请尝试以下操作:

var $select = $("<select />", { id: 'mlist' }).appendTo('#myList');
for (var i = 0; i < datas.length; i++) {
    $select.append($('<option />', { text: datas[i] }));
}
var$select=$(“”,{id:'mlist'});
对于(变量i=0;i
添加元素时,它会自动关闭,因此不需要第二个
append()
来添加关闭标记

此外,您需要将
选项
元素附加到
选择
,而不是
#我的列表
。请尝试以下操作:

var $select = $("<select />", { id: 'mlist' }).appendTo('#myList');
for (var i = 0; i < datas.length; i++) {
    $select.append($('<option />', { text: datas[i] }));
}
var$select=$(“”,{id:'mlist'});
对于(变量i=0;i
添加元素时,它会自动关闭,因此不需要第二个
append()
来添加关闭标记

此外,您需要将
选项
元素附加到
选择
,而不是
#我的列表
。请尝试以下操作:

var $select = $("<select />", { id: 'mlist' }).appendTo('#myList');
for (var i = 0; i < datas.length; i++) {
    $select.append($('<option />', { text: datas[i] }));
}
var$select=$(“”,{id:'mlist'});
对于(变量i=0;i
Good,将jquery select移动到循环外并使用临时变量(slct)要快得多。@CarlJohn很高兴能提供帮助:)如果我想在下一行附加相同的下拉框元素,在插入一些标签方法后,我是否仍要使用append方法?Good,将jquery select移动到循环外并使用临时变量(slct)要快得多。@CarlJohn很高兴能提供帮助:)如果我想在下一行附加相同的下拉框元素,在插入一些标签方法后,我是否仍要使用append方法?很好,将jquery select移动到循环外并使用临时变量(slct)要快得多。@CarlJohn很高兴能提供帮助:)如果我想在下一行附加相同的下拉框元素,在插入一些标签方法后,我是否仍要使用append方法?很好,将jquery select移动到循环之外并使用临时变量(slct)要快得多。@CarlJohn很高兴能提供帮助:)如果我想在下一行附加相同的下拉框元素,在插入一些标签方法后,我是否仍要使用append方法?