Ste*_*hen 6 javascript jquery internet-explorer attributes dom
我正在解析JSON响应并通过$.ajax()此对象的值构建表单.我写的剧本很长,但这就是它正在做的事情:
动态创建:
〜表单元素,
〜
字段集元素,
〜按钮元素,~20左右的文本输入和标签元素
将输入和标签附加到字段集
将按钮附加到fieldset
将fieldset附加到表单
一切都在所有浏览器中工作,除了IE中的一个小片段.我把它缩小到下面的代码.(doc是一个包含的变量document)
fieldset.append(
$(doc.createElement('button'))
.addClass('ui-button')
.attr('type', 'submit')
.html('Re-Rate')
.button()
);
Run Code Online (Sandbox Code Playgroud)
这是上面的第3步.它创建一个按钮元素,添加一个类,将type属性设置为submit提供一些文本,然后将其附加到fieldset.IE失败并显示错误"对象不支持此操作"
如果我注释掉这样的.attr()行:
fieldset.append(
$(doc.createElement('button'))
.addClass('ui-button')
//.attr('type', 'submit')
.html('Re-Rate')
.button()
);
Run Code Online (Sandbox Code Playgroud)
一切都按预期工作.
如果您想知道,该.button()方法是jQuery UI
Nic*_*ver 10
jQuery的不允许你改变type的<input>或<button>元素.
这样做的原因是一致性,并且IE不允许您更改type一旦插入DOM.
| 归档时间: |
|
| 查看次数: |
4205 次 |
| 最近记录: |