我有一行简单的 Javascript 代码
$('<button>').attr({ 'type': 'button' }).css({ 'cursor': 'pointer' }).text('Button').click(function () { alert('clicked'); }).appendTo($('#btn'));
html 更简单
<div id='btn'>Click this button</>
运行此代码 FF 时一切正常,如 jsfiddle http://jsfiddle.net/kevinle/jJbNt/6/ 所示。但在IE8上运行失败。
解释是什么(这个问题是否已记录在我错过的地方)以及解决方法是什么?
最佳答案
也许关闭你的 <div>
元素正确吗?
<div id='btn'>Click this button</div>
编辑
好的,更彻底地测试了一下,发现调用.attr()
正在简化 IE 的 Javascript 引擎。从 jQuery 链中删除它后,它可以在 IE8 中运行。
如果您考虑一下,因为您正在实例化 <button>
无论如何,你不需要设置它的 type
至"button"
.
$('<button>')
//.attr({ 'type': 'button' })
.css({ 'cursor': 'pointer' })
.text('Button')
.click(function () {
alert('clicked');
})
.appendTo('#btn')
;
关于jquery - 在 IE8 中使用 <button> 标签和 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8144426/