sal*_*ane 5 jquery internet-explorer
我正在尝试使用jquery创建一个按钮.我使用以下代码
jquery('<button/>', {type:'button'}).text(name)
Run Code Online (Sandbox Code Playgroud)
但是这适用于Safari,FF IE8但不适用于IE7
我试图使用attr函数:
jquery('<button/>').attr('type','button').text(name)
Run Code Online (Sandbox Code Playgroud)
这也行不通.
任何想法会起作用吗?我想如果我没有分配一个类型,它将默认为按钮,但我宁愿这样做
谢谢你的帮助
试试这个:
var button = $('<button type="button"/>');
Run Code Online (Sandbox Code Playgroud)
现在,实际上,按钮的默认类型是IE中的"按钮"(至少7个,不确定标准模式8).但是上面应该有效.我前几天刚碰到这个.IE允许您在创建元素时在元素语法中提供类型,并且似乎jQuery几乎将其参数直接传递到此处的低级DOM API.
哦,它也适用于FF和Chrome.
编辑 - 一年有什么不同,呃?现在使用jQuery 1.4.4或jQuery 1.5.x,我无法使用该机制.好消息是jQuery 1.6似乎按照OP的方式工作:通过以类似于jQuery的方式设置"type".
什么也似乎工作,但是,是直接调用".setAttribute()"的元素.从而:
var b = $('<button/>');
b[0].setAttribute('type', 'button');
Run Code Online (Sandbox Code Playgroud)
并没有抛出异常,而且不设置"类型"属性正确.(这本身有点奇怪,因为微软明确将"类型"记录为只读.)1.6的变化似乎是沿着同样的路线.以前,库确实检查了"type",并明确禁止在DOM中已经存在的元素上设置它,但是会继续尝试将其设置为不在DOM中的元素的简单属性.现在,1.6代码调用".setAttribute()"来设置"类型",这(由于我不知道的原因)工作正常.
| 归档时间: |
|
| 查看次数: |
2317 次 |
| 最近记录: |