javascript - prototype.js insideHTML 不适用于 IE

标签 javascript internet-explorer prototypejs

显然 IE (10) 不喜欢这段代码:

$('size_list').innerHTML = '<form id="dropdown_menu"><select id="dropdown_options"></select></form>';

未生成下拉菜单。我收到一个 Unknown Run Time 错误,这确实“有帮助”。下一行代码是:

$('dropdown_options').innerHTML = '<option>Choose size</option>';

但是当我调试时 - 我什至没有到达这里。

'size_list' 元素只是一个简单的空 div:

<div id="size_list" style="float:right; margin-top: -22px;"></div>

我发现一些信息表明 .innerHTML 并不真正适用于 IE,但我的脚本中有许多其他地方可以将更大的 HTML block 分配给 div 元素,通过 .innerHTML 以及所有的作品。除了上面规定的下拉表单分配之外。

最佳答案

试试这个:

$('#size_list').html('<form id="dropdown_menu"><select id="dropdown_options"></select></form>');
$('#dropdown_options').html('<option>Choose size</option>');

你不能用锤子当 Spanner ......

或者使用document.getElementById('size_list').innerHTML或使用$('#size_list').html()

别忘了加上 #在 jQuery 中的 id 选择器和 . 之前在类选择器之前,否则 jQuery 会尝试查找 <size_list> DOM 树中不存在的标签。

关于javascript - prototype.js insideHTML 不适用于 IE,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22169660/

相关文章:

javascript - 试图找出该功能不起作用的原因

调用 return 语句时,Javascript 不会退出 for 循环

javascript - 如何在选择选项中使用复选框? react 钩子(Hook)

internet-explorer - 在 Firefox 中禁用推送状态

javascript - 脚本在 IE 10 中无法正常工作

jQuery Change() 不触发原型(prototype)事件处理程序

javascript - 将变量传递到 Bootstrap 模态中

html - 如何在IE中使用overflow auto

javascript - dojo的模板方法

javascript - 继承 - 实例变量