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("</select>");

但是在浏览器中,它显示生成的元素为

<select id="mlist"> </select>
 <option>INDIA</option>
 <option>CHINA</option>
  <option>JAPAN</option>

我希望将选项插入到选择元素之间。有人建议我哪里做错了吗?

最佳答案

这不是你的做法..你需要找到已经附加的 <select>然后附加到它。

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
}

关于javascript - 在 JQuery 中运行时添加 HTML 元素 - 未按预期工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27191158/

相关文章:

javascript - 臭名昭著的循环机会

javascript - 遍历在 jQuery 中保存为字符串的列表元素

javascript - 迭代数组对象

javascript - 来回制作动画循环

jQuery slideUp 在 Firefox 和 Safari 中的行为不同

jquery - 链式 jQuery 延迟,即使在 then 语句之后也会调用所有进度回调

html - Zurb Foundation 中 small 的全宽搜索顶部栏

javascript - 使用基于 html-5 数据属性的 javascript 选择复选框

html - 使用浏览器调整图像大小

Javascript 不会火?