javascript - 为什么DIV不遵循父级的属性

标签 javascript jquery html

考虑这段代码

<fieldset id="fieldset">
    <input id="first" />
    <div id="second" />
</fieldset>

$('#fieldset').attr('disabled', 'disabled')
console.log($('#first').is(':disabled'))
console.log($('#second').is(':disabled'))

输出是

true
false

我注意到输入标签遵循父属性,而且我认为所有具有小部件的标签都遵循但其他标签,如 div、a、span 或 .. 则没有。

为什么?

如果我想让 div 元素跟随父元素的属性,我应该怎么做?

最佳答案

specification说:

A form control is disabled if its disabled attribute is set, or if it is a descendant of a fieldset element whose disabled attribute is set and is not a descendant of that fieldset element's first legend element child, if any.

div 没有被禁用,因为它不是表单控件。它不能被禁用,因为这样做是没有意义的。

关于javascript - 为什么DIV不遵循父级的属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32547852/

相关文章:

javascript - Medialize/sass.js 是否可以修改 sass 变量?

javascript - PHP 变量不在 Javascript 的范围内,如何在范围内获取它?

javascript - 使用 JQuery 分页,PHP 不起作用

javascript - 暂时禁用 CSS 过渡效果的最干净的方法是什么?

javascript - 将固定宽度层内可变高度的 float 元素相互底部对齐,行之间没有边距或空格

javascript - 是否有一个 npm 模块来修改 node.js 中的 pdf 文件?

javascript - jQuery 按键事件等待 0.5 秒等待另一个用户按键

javascript - 如何在不使用 FormData 的情况下在 ajax 调用中添加文件数据?

javascript - 使用 javascript 创建动态内容的最佳方式?

javascript - 如何使用从两个不同的 SQL 表获取信息的 <td> 输入执行查询保存?