javascript - 检查一个 div 是否被禁用 jQuery

标签 javascript jquery

我需要检查 myDiv1 是否被禁用。如果是这样,我需要隐藏 myDiv2,否则我需要显示 myDiv2

这是我目前所拥有的:

$(document).ready(function () {
    var isDisabled = $('#myDiv1').is('[disabled=disabled]')
    alert(isDisabled); //this always returns false
    if(isDisabled)
        $("#myDiv2").hide();
    else
        $("#myDiv2").show()
});

isDisabled 始终返回 false,即使 myDiv1 已启用。我在这里缺少什么?

最佳答案

这么多答案,但没有一个解决实际问题:A div element不允许 disabled 类型的属性。仅在 divglobal attributes是允许的,而 disabledform elements 上是允许的.

您可以通过测试此 HTML 轻松验证它:

<div id="a" disabled></div>
<input id="b" disabled>

针对这个 JavaScript:

var e = $('#a');
alert(e.is(':disabled'));

var e = $('#b');
alert(e.is(':disabled'));

这将返回 falsetrue

那有什么解决办法呢?

如果您想要一个实际名为 disabled 的属性,请使用 data-* 属性:

<div id="c" data-disabled="true"></div>

并使用这个 JavaScript 检查它:

var e = $('#c');
alert(e.data('disabled'));

或:

var e = $('#c');
alert('true' === e.attr('data-disabled'));

取决于您将如何处理附加的 data-*-attributes。在这里您可以阅读更多关于 jQuery 的 .data()这是在第一个例子中使用的。

演示:

Try before buy

关于javascript - 检查一个 div 是否被禁用 jQuery,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41735850/

相关文章:

javascript - 使用 JQuery/AJAX/PHP 从另一个 URL 抓取并显示 Web 内容

javascript - 如何修复 "Service invoked too many times in a short time: exec qps."

javascript - jQuery如何使用td背景颜色

javascript - 使用 data-popup 属性显示 Jquery-ui 对话框

javascript - 在数据表中以编程方式添加行时选择不呈现

javascript - 从ownerNode获取样式表对象(样式标签)

javascript - 自定义图像 slider

javascript - Bootstrap 按钮底部边框宽度为百分比

javascript - 多个动态下拉选择菜单不起作用 - PHP MySQL Jquery

javascript - 移动页面在顶部时div垂直居中,但是当我们向下滚动页面时,出现错误