gpt4 book ai didi

javascript - bool HTML 属性

转载 作者:技术小花猫 更新时间:2023-10-29 12:13:44 25 4
gpt4 key购买 nike

HTML 中有一些属性是“ bool 值”——如果它们存在,浏览器会将它们视为“真”,而不管值是多少。在 <option>选择 就是此类属性的一个示例。标签。另一个在 <input type="checkbox"> 上被检查 .

如果您调用 setAttribute()对于这样的属性,您似乎无法设置任何值来使浏览器始终如一地表现得好像缺少该属性一样。

例如

option.setAttribute("selected", false)

仍会标记已选择的选项。 null、空字符串或undefined 也不起作用。如果有人知道我可以设定一个值来实现我的目标,请告诉我,但我认为不存在。 (由于我使用的一些框架代码,调用 setAttribute() ,或者调用 removeAttribute() 很困难。)

我正在尝试找到此类属性的详尽列表以对它们进行特殊处理。这是我到目前为止所拥有的:

  • 已选择 <option>
  • 检查 <input>
  • 禁用只读 <input> , <select> , <option> , <optgroup> , <button> , <textarea>
  • 多个 <select>

请帮助我完成此列表 - 或者指向一个现有列表。

最佳答案

(Because of some framework code I use, not calling setAttribute(), or calling removeAttribute() is difficult.)

然后我会提交框架代码需要修复或转储。

根据设计,您不能通过 setAttribute 取消设置属性。根据 DOM 核心标准,您发现的任何涉及带外值(如“null”)的解决方案,如果它恰好在任何特定浏览器中工作,都将是完全无效的。

setAttribute() 在任何情况下最好避免在浏览器(非 XML)HTML 上下文中使用。 IE pre-8 不知道 DOM 属性和 JavaScript 属性之间的区别,这很容易导致许多非常奇怪的问题。如果您尝试将“checked”设置为一个属性(理论上您应该将其设置为字符串“checked”),请不要指望 IE 会合作。

HTML 4.01(以及 XHTML 1.0)中 bool 属性的完整列表是(属性名称大小写不同):

checked             (input type=checkbox/radio)
selected (option)
disabled (input, textarea, button, select, option, optgroup)
readonly (input type=text/password, textarea)
multiple (select,input)
ismap isMap (img, input type=image)

defer (script)
declare (object; never used)
noresize noResize (frame)
nowrap noWrap (td, th; deprecated)
noshade noShade (hr; deprecated)
compact (ul, ol, dl, menu, dir; deprecated)

关于javascript - bool HTML 属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/706384/

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