【发布时间】: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 作为模板语言。