3

htmlcode:

div id="divUndo" runat="server"

I am disabling divUndo in the code-behind under certain conditions using the below statement. VB.NET:

divUndo.disabled=true

How can I check if the "divUndo" is disabled or not using jquery?

4

3 回答 3

7

ASP.NET 允许您Disabled在任何 HtmlControl 对象上设置属性。在您的示例中,它呈现为

<div id="divUndo" disabled="disabled"><div>

并且在 javascript 中可以像这样检查

$('#divUndo').attr('disabled') !== undefined

但根据 W3C

以下元素支持禁用属性:BUTTON、INPUT、OPTGROUP、OPTION、SELECT 和 TEXTAREA。

因此,它可能无法在不同的浏览器中工作或工作方式不同。你不应该依赖在你的 javascript 或 css 中使用disabled属性。div

于 2012-06-08T21:24:21.797 回答
3

在标准 ASP.Net Webforms 中,当您将disabled属性设置为 true 时,它​​呈现如下:

<div id="MainContent_divundo" disabled="disabled">This is Undo!</div>

您可能可以使用标准的 jQuery attr()方法来读取值。很可能prop()不起作用(jsFiddle)。

if ($("#MainContent_divundo").attr("disabled") == "disabled")
{
}

我不知道您为什么要这样做,所以这很可能是XY Problem

于 2012-06-08T20:36:00.140 回答
0

您不能以 JavaScript(或 HTML,就此而言)可以识别的任何方式禁用 div。它可能是某种奇怪的 .net 属性,但客户端无法识别。

如果您能解释您的最终目标是什么,我们或许可以为您提供一些替代方案。

于 2012-06-08T20:27:49.257 回答