gpt4 book ai didi

html - 为什么我们需要禁用 ="disabled"?

转载 作者:技术小花猫 更新时间:2023-10-29 11:41:48 26 4
gpt4 key购买 nike

对于不需要任何值的 XHTML 属性,我们应该重复属性名,这似乎是普遍的共识。例如。 <input disabled>在正确的 XHTML 中是 <input disabled="disabled"/> .

但是,我们可以获得 HTML <input>使用以下任何方法禁用元素:

  • <input disabled=" "/>

  • <input disabled=""/>

  • <input disabled="asdfg">

  • <input disabled="false">

实际上是否有使用disabled="disabled"的官方规则? ?还是品味问题?

最佳答案

官方正确的 xhtml 语法是 disabled="disabled"

原因是xhtml是一种XML语法,而XML要求属性有值。 xhtml 规范还明确指定该值应为“禁用”。

选择这个值而不是任何其他可能值的原因是相当随意的;他们只是简单地决定将所有以前的 bool 属性转换为 XML 格式,方法是使它们的值与其名称相同。

所以是的,有一个官方规范说你必须使用完整的语法。但它只适用于xhtml文件。你可以找到它here (如果您在该页面中搜索 disabled,您会发现它被列为仅允许 "disabled" 作为值。同样对于 readonlychecked 属性)。

纯 HTML - v4 和 v5 - 并没有以这种方式与 XML 的限制相关联,并且不需要 disabled 的属性值;仅存在 disabled 属性就足以禁用该字段,无论您是否具有该属性的值,或者该值是什么。

所有这一切的最终结果是,如果您正在使用 XHTML 文档类型,或者您希望保持 XML 兼容,则应该使用 disabled="disabled"。如果您不使用 XHTML 并且您不关心是否具有有效的 XML 语法,那么您可以单独使用 disabled,或者使用您喜欢的任何属性值。

我要注意的另一件事(稍微偏离主题,但可能是相关的)是这可能会对可能引用该字段的任何 CSS 或 JQuery 代码产生影响。例如,我见过有人使用 JQuery 选择器,例如 $('[disabled=disabled]'),以及类似的 CSS。这显然依赖于具有预期值的属性。因此,如果您要在选择器中引用这样的 bool 属性,则应该在没有值的情况下引用它,如下所示:$('[disabled]') 因为无论属性设置为。

关于html - 为什么我们需要禁用 ="disabled"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6531738/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com