JQuery Attr可见无法使用IE7或更低版​​本

时间:2013-09-19 13:23:51

标签: javascript jquery internet-explorer

我有一个启用的页面,并使用JQuery使按钮可见。这就是我正在使用的:

//disable save until validated
$("#btnSave").attr("disabled", true);

完成组件验证后,启用保存按钮:

$("#btnSave").attr("disabled", false);

问题:可以使用Chrome,FF,IE8 +查找,但不适用于IE7及以下版本(惊讶:O)。是否有任何破解或解决此问题。

4 个答案:

答案 0 :(得分:4)

使用prop代替attr

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

如果您想使用attr(虽然我不愿意,但为了完成)

$('#btnSave').attr('disabled', 'disabled')

答案 1 :(得分:3)

直接取自documentation

  

“检索和更改DOM属性,例如   选中,选中或禁用表单元素的状态,使用   .prop()方法。“

答案 2 :(得分:0)

正如大家所说,你需要使用$("#btnSave").prop("disabled", false);

但为什么?因为IE8只接受禁用的属性:

<button disabled="disabled">

您指示jQuery将属性的文字值设置为“true”,从而产生:

<button disabled="true">

但是,使用.prop,jQuery将自动为该属性设置正确的值,无论是选中/选中/禁用,还是只是文字属性值。

答案 3 :(得分:0)

示例

  $(function(){
    $('#button1').prop('disabled', true);
       // $('#button1').prop('disabled', null);//if you want to enable it
    });

这是jsfiddle