仅IE6/7中添加checked为true的input到DOM中为false

HTML INPUT元素有个checked属性,多数情况type为radio和checkbox。

当创建一个input,checked属性赋值为true,添加到DOM文档中,当再次取checked属性时,IE6、7竟然是false。

 

测试如下

var div = document.createElement('div')
var input = document.createElement('input')
input.type = 'checkbox'
input.checked = true
div.appendChild(input)
alert(input.checked) // IE6/7 false

 

使用文档碎片IE6/7依然是false

var frag = document.createDocumentFragment('div')
var input = document.createElement('input')
input.type = 'checkbox'
input.checked = true
frag.appendChild(input)
alert(input.checked) // IE6/7 false

 

解决方式:可以先把checked属性暂存下,比如加一个defaultChecked属性,添加到DOM后,再用defaultChecked赋值给checked属性。

 

 

posted on 2014-06-21 22:18  snandy  阅读(1747)  评论(1编辑  收藏  举报