IE 7 不喜欢 jquery('

2024-03-31

我正在尝试使用 jquery 创建一个按钮。 我使用下面的代码

jquery('<button/>', {type:'button'}).text(name)

然而这适用于 Safari 、 FF IE8 但不适用于 IE7

我尝试使用 attr 函数:

jquery('<button/>').attr('type','button').text(name)

这也不起作用。

有什么想法可行吗?我想如果我不分配类型它会默认为按钮但我宁愿这样做

感谢您的帮助


尝试这个:

var button = $('<button type="button"/>');

现在,碰巧的是,在 IE 中按钮的默认类型无论如何都是“按钮”(至少 7,不确定标准模式 8)。然而,上述应该有效。前几天我刚刚遇到了这个。 IE 允许您在创建元素时在元素语法中提供类型,并且 jQuery 似乎几乎将其参数直接传递到此处的低级 DOM API。

哦,它在 FF 和 Chrome 中也运行得很好。


edit——那么一年会有多大的不同,嗯?我现在根本无法使用 jQuery 1.4.4 或 jQuery 1.5.x 使用该机制。好消息是 jQuery 1.6 似乎按照 OP 想要的方式工作:通过以更正常的类似 jQuery 的方式设置“type”。

What does然而,似乎可行的是直接在元素上调用“.setAttribute()”。因此:

var b = $('<button/>');
b[0].setAttribute('type', 'button');

does not抛出异常,然后它does正确设置“类型”属性。 (这本身就有点奇怪,因为 Microsoft 明确将“类型”记录为只读。)1.6 中的更改似乎也是如此。以前,该库确实检查了“类型”,并明确不允许在 DOM 中已有的元素上设置它,但会继续尝试将其设置为不在 DOM 中的元素的简单属性。现在,1.6 代码调用“.setAttribute()”来设置“type”,这(出于我未知的原因)工作正常。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

IE 7 不喜欢 jquery('

随机推荐