【发布时间】:2011-02-25 13:31:06
【问题描述】:
下面的代码根据表单上已有的数据设置了一个编辑界面,效果很好。除了根据this msdn article,任何自封闭的标签(例如:<div />)都没有innerhtml 属性。这使得我的个人 jscript 日历库阻塞了对正在创建的 div 的 innerHTML 分配。
fields.find("p[item][type='Calendar']").each(function() {
index++;
var currentText = $(this).html();
$(this).html("<input id=\"calInput" + index + "\" type=\"text\" value=\"" + currentText + "\" /><div id=\"cal" + index + "\"></div>");
myFactory.newCalendar("cal" + index, "calInput" + index);
});
如何强制 jQuery 使用我在下面概述的 html 而不是创建自封闭 div?
编辑:从上面得到的html代码是:
<div id="cal2" style="" class="jcalStyle hide"/>
我需要它:
<div id="cal2" style="" class="jcalStyle hide"></div>
编辑 2:
Firefox 正在正确生成 HTML。我不知道为什么 IE8 会自动关闭(无效?) div。
【问题讨论】:
-
div 标签必须有结束标签:w3.org/TR/html401/struct/global.html#edef-DIV
-
@Davin - 我知道。我不是 div 标签未关闭的原因。 jQuery 似乎正在以这种方式生成 html。
标签: javascript jquery internet-explorer-8 innerhtml