0

我需要更改以下代码:

 $("#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_btnAdd").attr("disabled", true);

对此:

var ControlID = "#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_btnAdd"

$(ControlID).attr("disabled", true);

但是上面的一个不起作用..错误是什么?

4

2 回答 2

1

尝试

$('<%:Control.ControlID%>').attr("disabled", true);
于 2012-07-11T04:47:19.503 回答
0

我怀疑它在这两种情况下都不起作用。使用.prop()代替.attr(), 来禁用该元素。

var ControlID = "#ctl00_PlaceHolderMain_SPWebPartManager_g_3c1ba10a_23ec_4ab5_b303_18f8bd7ee7e7_ctl00_btnAdd"
$(ControlID).prop("disabled", true);

属性通常会影响 DOM 元素的动态状态,而不会更改序列化的 HTML 属性。示例包括输入元素的 value 属性、输入和按钮的 disabled 属性或复选框的 checked 属性。.prop()应该使用方法来设置禁用和检查而不是方法.attr()。该.val()方法应用于获取和设置值。

来源:http ://api.jquery.com/prop/

于 2012-07-11T04:48:07.690 回答