设置错误值与删除属性

2023-11-22

我正在读一些关于布尔属性的内容here,这表示对于布尔属性(在这个特定的示例中,loop的属性<audio>),无论您设置什么值,它都会被识别为“true”。为了真正设置为 false,你不能将其设置为loop=false或使用 javascript 作为['loop']=false,但必须删除该属性,例如通过执行removeAttribute('loop')。这是真的?

我一开始相信它,但据用Chrome检查,似乎设置为['loop']=false实际上会使其被识别为虚假。我不确定这个事实在跨浏览器考虑时有多可靠。浏览器之间有什么区别吗?


布尔属性解释如下:

http://www.w3.org/TR/html4/intro/sgmltut.html#h-3.3.4.2

一些属性扮演布尔变量的角色(例如,选定的 OPTION 元素的属性)。它们出现在开始标签中 元素的 意味着该属性的值为“true”。他们的 缺席意味着值为“假”。

布尔属性可以合法地采用单个值: 属性本身(例如,selected=“selected”)。

因此,虽然某些浏览器可能会将字符串“false”解释为未设置该值,但其他浏览器可能不会决定这样做(这是正确的行为)。事实上,据我所知(或thought),任何非空字符串通常将值设置为 on/true (无论规范所说的合法​​值是什么)。我相信这也是未定义的行为,因此这也可能会随着浏览器的不同而改变或有所不同(不要依赖它)。

最重要的是,仅仅因为一两个浏览器可能偏离规范并不意味着you应该。完全删除该属性是正确的方法。

Addendum:仔细看看您的评论和问题,我认为您可能对一般属性值感到困惑。在 HTML 中,attr=false and attr="false"完全一样。任何版本的 HTML 中都不需要引号(除非当值包含空格时需要使用引号来消除歧义)。例如:

<input class=required>
<!-- This is fine -->

<input class=title required>
<!-- this is fine too, but "required" will be parsed as an attribute -->

<input class="title required">
<!-- To have two classes, we need the quotes -->

所有属性值(在具有这些属性的元素上)都被视为字符串。换句话说,不存在真正的布尔值value (or NULLvalue)在 HTML 中就像在 javascript 中一样。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

设置错误值与删除属性 的相关文章

  • 如何将本地文本文件上传到文本区域(网页内)

    我是一名新手程序员 需要一些帮助来弄清楚如何将本地文本文件上传到我正在构建的网站内的文本区域 我非常精通 HTML CSS 对 Javascript JQuery 有相当的了解 而且我刚刚学习 PHP 您能提供的任何帮助我将不胜感激 我有一
  • CSS如何制作可滚动列表

    我正在尝试创建一个由标题和标题下方的项目列表组成的网页 我希望项目列表可以垂直滚动 我还希望网页占据整个窗口 但不要更大 目前我的问题是项目列表不可滚动 而是延伸到窗口底部下方很远 这导致窗口可滚动 应该做什么CSS属性位于html bod
  • IE localStorage 事件失火

    在 Internet Explorer 9 和 10 中 localStorage 实现意外地触发事件 这里有很棒的线索 Chrome 的 localStorage 实现存在错误 https stackoverflow com questi
  • 如何将两个 span 元素一个向左对齐,另一个向右对齐?

    我有两个 span 要素 span style margin right auto 2012 XYZ Corp All Rights Reserved span span style margin left auto Built with
  • html中锚标记中href和data-href的区别

    html中的href和data href属性有什么区别 a a 标签 我当前的代码写如下 a href verify phone process 1 html class btn btn default bubbla btn Sign In
  • 使用
    元素作为 JavaScript 代码的输入。这是最好的方法吗?

    各位 显然 我是编码新手 所以最近完成了一些有关 HTML 和 Javascript 的 Lynda 课程后 我的简单 HTML 页面遇到了困难 基本上 我想要的是使用 JavaScript 进行基本计算 让用户使用 HTML 输入两个数字
  • 单击锚点,在同一窗口中下载文档

    我想提示用户在同一窗口中保存数据 可以是任何类似 图像 pdf excel 工作表等 我不想用HTML5下载选项 因为这并非对所有浏览器都有效 例如 我想提示用户下载谷歌徽标 如下代码所示 a href https www google c
  • 使用 JavaScript 写入

    我想在页面中打印一条消息 div 页面加载时的元素 我有以下 HTML 和 JavaScript 代码 div div function printMsg var node document getElementById write nod
  • A* 在 HTML5 Canvas 中开始寻路

    我正在尝试在我的游戏中实现 A Start 路径查找 用 JavaScript HTML5 Canvas 编写 A Start 的图书馆发现了这个 http 46dogs blogspot com 2009 10 star pathrout
  • 使用 z-index 将元素定位在 div 下

    我尝试将一个子 div 放置在其父级元素下方并位于其他元素上方 box1 background color blue width 500px height 100px position relative z index 3 box2 pos
  • 可以将自己的属性添加到 HTML 元素中吗? [复制]

    这个问题在这里已经有答案了 可能的重复 自定义属性 是还是不是 https stackoverflow com questions 992115 custom attributes yay or nay HTML 标签上的非标准属性 好东西
  • 从标签中提取 HTML5 数据属性

    我想从标签中提取所有 HTML5 数据属性 就像这个 jQuery 插件 http www orangesoda net jquery dataset html 例如 给定 span class highlight Joe Bloggs s
  • 在 GWT 中使用 SVG

    我想知道是否可以在面板中包含 SVG 内容 或者在 GWT 中工作的任何内容 能够以编程方式向 SVG 添加更多内容 例如添加圆或曲线 并处理鼠标事件 这会是在 SVG 或 GWT 中 我尝试创建一个 HTML 对象 添加以下内容
  • 内联 div 元素

    我试图将 div 元素放在一起 问题是 即使有足够的空间让两个元素位于同一行 新的 div 也会将自身移动到下一行 如果没有足够的空间 我只需要另一个 div 去到下一行 有人知道怎么做这个吗 将 CSS 显示样式设置为display in
  • h1、h2、h3.. 元素吃掉 div 边距

    为什么 h1 h2 h3 元素在 div 中的边距会被忽略 http jsfiddle net TzmdZ http jsfiddle net TzmdZ div class col h3 This is header h3 div div
  • 如何使用 HTML 元素阻止 THREE.js 光线投射?

    我希望页面上的 HTML 元素阻止 THREE js 光线投射 我该如何执行此操作 我遇到的问题是 当用户单击打开的 DIV 元素时 光线投射会检索场景中的对象 它会检索 DIV 后面的对象 我不想在 DIV 打开时禁用光线投射 我纯粹希望
  • 如何清除画布元素中的多边形区域?

    我使用过clearRect函数 但没有看到多边形的等效函数 我天真地尝试过 ctx fillStyle transparent ctx beginPath ctx moveTo 0 0 ctx lineTo 100 50 ctx lineT
  • 外部 CSS 是否应用于 jsPDF 生成的 pdf

    我已经开始使用 jspdf 制作一些演示 我有一个 html 文件 我的 css 在外部文件中 我写了下面的代码来生成我的pdf pdfButton on click function var pdf new jsPDF p in lett
  • 在 Chrome 上使用 html5 显示垂直视频

    我正在构建一个简单的page http jsfiddle net JVZGZ 使用 html5 视频标签显示从我的 iPhone 上传的视频 如果您使用 chrome 观看它 您可能会看到该视频是水平呈现的 尽管它不是水平呈现的 尝试下载它
  • 如何在jsp中使用javascript动态创建下拉框?

    我正在尝试动态创建下拉框 就像当我单击添加按钮时它必须创建新的下拉框 下拉列表还包含动态值 例如需要当前年份并且必须显示最多五年 请建议我这样做 谢谢 这是我尝试过的代码 JavaScript 代码 function Add var nam

随机推荐