当我收到包含 input[type=text] 元素的元素的 innerHTML 时,值和 id 周围的语音标记将在 IE7 中被删除,即
<input type="text" id="test" value="test" />
变成:
<input type="text" id=test value=test />
这很好,除了我使用的 JQuery 插件接受 html 段并将 JSON 绑定(bind)到它之外。这意味着如果我有一个模板:
<div id="template"><input type="text" value="${ValueToBind}" /></div>
当我通过 document.getElementByID("template").innerHTML 检索此内容时,我得到:
<input type="text" value=${ValueToBind} />
因此,如果我用空格绑定(bind)字符串,即“这是一个测试”,则输出为:
<input type="text" value=this is a test />
显然,这是无效的 html,并对我的应用程序造成严重破坏。我真正需要做的是按原样检索模板中的 html,而不是让 IE 尝试做任何有用的事情,例如删除“语音标记。
干杯,克里斯。
最佳答案
关于IE7 中的 Javascript InnerHTML 与 INPUT 标签混淆,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1254016/