今天项目一个bug,关于html的input的readonly属性,在ie7中默认的 r.getAtrribute("readonly")为true的,在火狐中r.getAtrribute("readonly")为readonly,一直以为结果是readonly,说是测试组的错误,后来一个alert弹出来的是true,被伤透了。更具体的应用如下:
readonly属性在html标签里使用不区分大小写,但是在js中使用,IE不能识别“readonly”,要用“readOnly”。
对比:
方法或属性 IE FF
r.readOnly 正确 正确
r.readonly 错误 错误
r.getAtrribute("readonly") 正确 正确
r.getAttribute("readOnly") 正确 正确
r.setAtrribute("readonly",true) 错误,区分大小写 正确
r.setAtrribute("readOnly","") 错误 正确
r.setAttribute("readOnly",true) 正确 正确
r.setAttribute("readOnly",false) 正确 正确
r.setAttribute("readOnly","readonly") 正确 正确
r.setAttribute("readonly","readonly") 错误,区分大小 正确
r.removeAttribute("readonly") 错误,区分大小写 正确
r.removeAttribute("readOnly") 正确 正确
<input id="r"> false null
<input id="r" readonly> true ""
setAtrribute方法设为true后 true true
setAtrribute方法设为false后 false false
多谢这位哥:http://asakakage.blog.163.com/blog/static/2124120892013795375411/