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 = truediv.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 = truefrag.appendChild(input)alert(input.checked) // IE6/7 false
解决方式:可以先把checked属性暂存下,比如加一个defaultChecked属性,添加到DOM后,再用defaultChecked赋值给checked属性。
新闻热点
疑难解答