Javascript JQuery Attr visible不适用于IE7或更低版本

Javascript JQuery Attr visible不适用于IE7或更低版本,javascript,jquery,internet-explorer,Javascript,Jquery,Internet Explorer,我有一个页面,在其中启用,并使用JQuery使按钮可见。这就是我正在使用的: //disable save until validated $("#btnSave").attr("disabled", true); 组件验证完成后,我将启用“保存”按钮: $("#btnSave").attr("disabled", false); 问题:它适用于Chrome、FF、IE8+,但不适用于IE7及以下版本(惊讶:O)。有没有针对这个问题的黑客或解决方法 直接取自: “检索和更改DOM属性,如 表

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

//disable save until validated
$("#btnSave").attr("disabled", true);
组件验证完成后,我将启用“保存”按钮:

$("#btnSave").attr("disabled", false);
问题:它适用于Chrome、FF、IE8+,但不适用于IE7及以下版本(惊讶:O)。有没有针对这个问题的黑客或解决方法

直接取自:

“检索和更改DOM属性,如 表单元素的选中、选中或禁用状态使用 方法。”


使用
prop
代替
attr

$("#btnSave").prop("disabled", false);
如果您想使用
attr
(虽然我不想使用,但为了完整起见)


正如大家所说,您需要使用
$(“#btnSave”).prop(“disabled”,false)

但是为什么呢?因为IE8只接受disabled属性作为:

<button disabled="disabled">

您指示jQuery将属性的文字值设置为“true”,结果是:

<button disabled="true">


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

示例

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

这是一个.

try
$(“#btnSave”).prop(“disabled”,false)我已经试过了,但按钮仍然隐藏。@faizanjehangir-您只是启用/禁用了一个按钮,您是否也在处理隐藏和显示?如果是。。然后准确地使用.show()和.hide(),
.prop()
将根本不接触属性,而是设置DOM元素的
.disabled
属性instead@ThiefMaster很好的澄清,这就是我最后一句话的意思,但你说得更好,所以我只需要+1你的评论;)
  $(function(){
    $('#button1').prop('disabled', true);
       // $('#button1').prop('disabled', null);//if you want to enable it
    });