http://api.jquery.com/insertbefore/处的示例显示insertBefore将新HTML插入DOM
我的HTML结构如下:
<div class="left line">
<div class="steps" id="step1"></div>
</div>
<div class="left line">
<div class="steps" id="step2"></div>
</div>
我在文档准备就绪后调用它(注意我试图将文本包装在&#34;&#34;&#39;&#39;&#39;&#39;并得到相同的结果。代码运行在for loop并插入正确的位置。
if (opts[i].payments1) {
console.log("P1")
$( "< div class = 'payment1'> < /div>" ).insertBefore( "#step" + i );
}
当我运行代码时,我得到了这个
<div class="left line">
< div class = 'payment1'> < /div>
<div class="steps" id="step1" style="background-color: blue;"></div>
</div>
因此,在查看页面时,我得到了
&LT; div class =&#39; payment1&#39;&gt; &LT; / DIV&GT;
而不是div的格式
答案 0 :(得分:2)
我认为jQuery
并不喜欢你写<div....
的方式。尝试
$( "<div class='payment1'> </div>" ).insertBefore( $("#step" + i) );
摆脱空间。
答案 1 :(得分:0)
$("<div>").addClass("payment1").insertBefore( $("#step" + i) );