【问题标题】:Browser automatically adding attribute value to tag浏览器自动为标签添加属性值
【发布时间】:2017-01-27 11:50:49
【问题描述】:

我有这个标签的属性没有它的值

<div class='hello' scroll-glue>

但是当我在浏览器中检查这个元素时,它会将这个值添加到它,就好像它是一个默认值一样

<div class='hello' scroll-glue='scroll-glue'>

这在使用 Angular 时会产生一个问题,因为该指令需要一个表达式,但如果没有提供任何表达式,它会使用其默认选项。但我永远不会将scroll-glue 定义为表达式。

目前我已经编辑了指令代码本身以检查属性值是否为scroll-glue,并将其视为未指定值。但我不明白为什么会发生这种行为。是否需要设置任何标志才能禁用此*行为?

浏览器详情: 谷歌浏览器版本 55.0.2883.87 m

【问题讨论】:

  • 您使用的是哪种浏览器?
  • 嘿@EduardMalakhov 我已经用浏览器详细信息更新了我的答案
  • 我怀疑这可能是修改属性的第三方脚本,而不是 chrome 本身。使用 chrome,您可以尝试以下操作来做一些额外的研究: 1. 打开开发者工具 (F12) 2. 在 Elements 视图中选择您的 div 3. 右键单击​​它并设置 Break on... -> 属性修改 4. 重新加载查看哪个脚本真正进行了修改的页面
  • 我无法在完全相同的 Chrome 版本中重现该内容。当我创建一个具有如您所示属性的 DIV 元素的文档时,在 DOM 检查器中我仍然看到它 - 它没有被“扩展”为 name="value" 对。您是以 HTML 还是 XML 格式交付文档? XML 不允许独立的属性,因此在 那种 的情况下,它可能确实会转换为您所看到的结果。
  • 我实际上是使用 JADE 作为模板语言。

标签: html angularjs tags pug


【解决方案1】:

在 Jade 中使用 doctype html。请参阅 GitHub 上的 related issue

【讨论】:

    猜你喜欢
    • 2020-07-08
    • 1970-01-01
    • 1970-01-01
    • 2011-06-20
    • 2012-05-13
    • 2013-07-04
    • 2017-12-03
    • 1970-01-01
    相关资源
    最近更新 更多