jQuery中操控hidden、disable等无值属性的方法

  一般我们在实现一些表单提交页面时会放置若干隐藏属性

  比如在修改某条记录时,在编辑窗口会嵌入该记录的id

  在展示界面有时需要将input或select选框设为disable以避免用户修改

  下列代码中的hidden在IE中不能正常作用

  

复制代码 代码如下:

  <input name = "role_name" id = "role_name" value="Roy" disabled>

  <input name = "role_id" id = "role_id" hidden value="3312">

  标准写法应当有附加值

  

复制代码 代码如下:

  <input name = "role_name" id = "role_name" value="Roy" disabled = "disabled">

  <input name = "role_id" id = "role_id" hidden = "hidden" value="3312">

  有时我们又需要在当前页面编辑如上两条,这时又应当如何操作呢

  我们可以用

  

复制代码 代码如下:

  $("#role_name").removeAttr("disabled");

  $("#role_id").removeAttr("hidden");

  或者

  

复制代码 代码如下:

  $("#role_name").prop("disabled",false);

  $("#role_id").prop("hidden",false);

  其中$("#role_name").prop()会返回一个boolean值,确认是否已开启这项属性prop()方法同时还能用在checked选项中用来控制选项是否选中

  一般情况下prop()可生效于写属性名便能生效及使用boolean操控属性状态的属性