为什么代码中添加的html与实际情况不同
why the added html in code is not the same as in reality
这是我的代码
for (i = 0; i < number; i++) {
var iiDiv = document.createElement('div') $(iiDiv).addClass("form-group") var iLabel = document.createElement('label');
$(iiDiv).append("<label for='"timeslot'" class='"p-label-required'">Time Slot</label>");
$(iLabel).addClass("input-group p-has-icon p-custom-arrow");
$(iLabel).append("<select id='"timeslot'" name='"timeslot'" required='"required'" class='"form-control'" >");
$(iLabel).append("<option class='"p-select-default'" value='"'">Select value</option>");
$(iLabel).append("<option value='"1'">1</option>");
$(iLabel).append("<option value='"2'">2</option>");
$(iLabel).append("<option value='"3'">3</option>");
$(iLabel).append("<option value='"4'">4</option>");
$(iLabel).append("<option value='"5'">5</option>");
$(iLabel).append("<option value='"6'">6</option>");
$(iLabel).append("<option value='"7'">7</option>");
$(iLabel).append("<option value='"8'">8</option>");
$(iLabel).append("<option value='"9'">9</option>");
$(iLabel).append("<option value='"10'">10</option>");
$(iLabel).append("<option value='"11'">11</option>");
$(iLabel).append("<option value='"12'">12</option>");
$(iLabel).append("</select>");
$(iLabel).append("<div class='"p-field-cb'"></div>");
$(iLabel).append(" <span class='"p-select-arrow'"><i class='"fa fa-caret-down'"></i></span>");
$(iLabel).append("<span class='"input-group-icon'"><i class='"fa fa-cutlery'"></i></span>");
$(iiDiv).append(iLabel) $("#numberOfTableDiv").append(iiDiv);
}
正如您所看到的,我在select
中添加了一些选项,但请查看生成的html
<div class="form-group">
<label for="timeslot" class="p-label-required">Time Slot</label>
<label class="input-group p-has-icon p-custom-arrow">
<select id="timeslot" name="timeslot" required="required" class="form-control"></select>
<option class="p-select-default" value="">Select value</option>
<option value="1">1</option>
<option value="2">2</option>
<option value="3">3</option>
<option value="4">4</option>
<option value="5">5</option>
<option value="6">6</option>
<option value="7">7</option>
<option value="8">8</option>
<option value="9">9</option>
<option value="10">10</option>
<option value="11">11</option>
<option value="12">12</option>
<div class="p-field-cb"></div> <span class="p-select-arrow"><i class="fa fa-caret-down"></i></span><span class="input-group-icon"><i class="fa fa-cutlery"></i></span></label>
</div>
选项将退出选择
您可以这样做:
var mySelect = $("<select id='"timeslot'" name='"timeslot'" required='"required'" class='"form-control'" >");
mySelect.append("<option value='"1'">1</option>");
//...
$(iLabel).append(mySelect);
问题是jQuery附加了元素,而不是实际的HTML。这听起来可能与相同,但不同的是,在附加任何其他元素之前,附加的每个元素都附加到DOM。结果是,select元素被添加到文档中,然后任何其他元素都被添加到iLabel
,而不是select,因为没有HTML被解释,只有DOM中的元素。
相关文章:
- 有没有一种方法可以在没有文档或jQuery的情况下使用javascript解码html实体
- 如何使用JavaScript在没有html dom的情况下隐藏html元素
- 如何在不创建格式错误的HTML标记的情况下分解字符串
- 在iframe的情况下,jQuery html()将失败
- 如何在不打断标记的情况下突出显示html字符串中的文本
- 元素过多的HTML内存使用情况
- 在不更改HTML源代码的情况下,在管理员TinyMCE编辑器中突出显示文本
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 如何在不使用Internet Explorer的情况下从未挂起的HTML文件执行程序
- JQuery适用于小提琴,但适用于实际的html文件
- 使用Alert()显示实际的HTML代码
- CSS-使卡盒比实际情况更大
- 我无法基于实际的 HTML 元素创建类
- 为什么代码中添加的html与实际情况不同
- 如何在没有实际页面刷新的情况下更新页面html和url
- 将实际的HTML元素添加到PRE/CODE内容中
- Immutable.js的实际情况是什么?
- Mustache在dom中呈现实际的HTML标记
- 获取实际输出HTML的函数
- 在不知道实际textNodes的情况下,通过int offset (start-end)突出显示HTML中的文本