解决火狐中用JQUERY .removeAttr,无法去除元素属性的方法

//为元素添加只读属性
$("#test").attr("readonly","readonly")
//去除元素的只读属性
$("#test").removeAttr("readonly")
//或者将属性设置为空,同样起到去除属性的作用
$("#test").attr("readonly","")

利用以上方法,可以很方便的给元素设置和取消属性。今天在公司项目中遇到一个问题,就是切换下拉框的值显示不同的DIV,DIV中的元素属性部分需要取消,部分需要添加。使用以上方法在IE下显示一切正常,而在火狐下会碰到将属性设置之后无法去除的情况。

经过一番胡乱改在,最后终于发现,去除元素属性的两个方法

//去除元素的只读属性
$("#test").removeAttr("readonly")
//或者将属性设置为空,同样起到去除属性的作用
$("#test").attr("readonly","")
必须在该元素有该属性的情况下才能使用,当元素没有设置该属性时,如果使用以上代码,会使该方法失效,使得之后的所有切换都失效。