【问题标题】:(Simple) Are HTML attributes allowed to have spaces between assignments(简单)是否允许 HTML 属性在赋值之间有空格
【发布时间】:2010-10-24 02:49:04
【问题描述】:

我正在将一些属性解析为字符串,所以我需要知道如何在 HTML/XHTML 元素属性中使用空格:

  <div id='myid' width='150px' />

这也是正确的吗?

  <div id = 'myid' width = '150px' />

如果有人知道使用 JavaScript 遍历属性及其值的其他方法,我很想知道。

【问题讨论】:

  • 您可能想要指定您尝试使用哪种语言进行解析 - 如果使用 C、C#、JavaScript。如果是 JavaScript,您可能是在尝试从浏览器中还是离线访问您自己的 HTML 文档?
  • 请注意,宽度属性 (a) 已弃用,并且 (b) 采用整数或百分比 - 不要在 HTML 中指定 px(但始终在 CSS 中指定单位)。验证器不会选择这个,因为 DTD 没有表达这个规则(而且我认为 DTD 也不能这样做)

标签: javascript html


【解决方案1】:

空格是允许的。如果您正在解析属性,为什么不让浏览器解析?如果您使用的是 innerHTML,那么您将获得具有属性列表的元素

【讨论】:

  • innerHTML?能详细点吗?
  • 您可以通过将 HTML 插入某些元素的 innerHtml 属性来解析 HTML。浏览器解析 HTML 并将其作为元素的子节点插入到树中。
  • 让浏览器解析 HTML 听起来很危险——任何 <script>标签被执行?
  • 不,脚本标签恕我直言嵌入在 DOM 中但未评估
  • script 元素不在innerHTML 中运行。但是,它是不安全的:&lt;img src="//" onerror="alert()"&gt;。为了安全起见,请使用document.implementation.createHTMLDocument
【解决方案2】:

是的,两者都是正确的。您需要使用 DOM,而不是字符串解析。查看jquery

【讨论】:

    猜你喜欢
    • 2015-11-12
    • 2011-10-27
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 2013-09-17
    • 2011-01-30
    • 1970-01-01
    相关资源
    最近更新 更多