首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >忽略</ .append >标记的.append

忽略</ .append >标记的.append
EN

Stack Overflow用户
提问于 2013-08-19 20:49:15
回答 5查看 7K关注 0票数 1

我有以下HTML:

代码语言:javascript
复制
<div id='show-label'>
  <select id="comboboxShowLabel">
    <option value="">Hide or show labels?</option>
    <option value="Show Labels">Show Label</option> 
    <option value="Hide Labels">Hide Label</option>
  </select>
</div>

我想在运行时将<select></select>添加到父div,ala:

代码语言:javascript
复制
     <div id='show-label'>
     </div>

    $("#show-label").html("<select id='comboboxShowLabel'>")
        .append("<option value=''>Hide or show labels?</option>")
        .append("<option value='Show Labels'>Show Label</option>")
        .append("<option value='Hide Labels'>Hide Label</option>")
        .append("</select>");       

对于我不知道的响应,结束标记不会被注入到页面中。

我已经尝试过上面的代码,以及类似这样的代码:

代码语言:javascript
复制
.append("<option value='Hide Labels'>Hide Label</option></select>")

是否需要将这些元素“批处理”到单个.append中?我想知道这种方法在加载到DOM时是否看起来不太好,所以被忽略了.

谢谢!

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-08-19 20:54:56

试试这个:

代码语言:javascript
复制
$("#show-label").append(function() {
    return $("<select id='comboboxShowLabel'>")
        .append("<option value=''>Hide or show labels?</option>")
        .append("<option value='Show Labels'>Show Label</option>")
        .append("<option value='Hide Labels'>Hide Label</option>");
});
票数 4
EN

Stack Overflow用户

发布于 2013-08-19 20:53:21

append()只将一个元素附加到另一个元素。您需要做的是制作一个有效的select标记。然后,您可以将选项附加到该选项中。见文献资料

代码语言:javascript
复制
$("#show-label").html("<select id='comboboxShowLabel'></select>")
$('#show-label select').append("<option value=''>Hide or show labels?</option>")
    .append("<option value='Show Labels'>Show Label</option>")
    .append("<option value='Hide Labels'>Hide Label</option>");
票数 2
EN

Stack Overflow用户

发布于 2013-08-19 20:53:38

取而代之的是这样做:

代码语言:javascript
复制
var $select = $("<select id='comboboxShowLabel'></select>");
$("#show-label").html($select);
$select.append("<option value=''>Hide or show labels?</option>")
    .append("<option value='Show Labels'>Show Label</option>")
    .append("<option value='Hide Labels'>Hide Label</option>");

如果你以后为了任何原因需要追加。否则,这样做是为了更好的浏览器效率(对实际dom的一个更改而不是多个):

代码语言:javascript
复制
var $select = $("<select id='comboboxShowLabel'></select>")
    .append("<option value=''>Hide or show labels?</option>")
    .append("<option value='Show Labels'>Show Label</option>")
    .append("<option value='Hide Labels'>Hide Label</option>");
$("#show-label").html($select);
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/18322846

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档