【问题标题】:Does the browser rearrange HTML if it violates some conditions如果违反某些条件,浏览器是否会重新排列 HTML
【发布时间】:2017-09-14 04:38:33
【问题描述】:

我有一个像

这样动态生成 html 的模板
<span>
  <p> Words words words </p>
  <div> <span>text</span></div>
</span>

但是当我检查渲染的 html 时,我得到的更像是

<span><span>
<p>Words words words</p>
<div><span>text</span></div>

【问题讨论】:

标签: html google-chrome templates browser


【解决方案1】:

是的,现在浏览器能够很好地“修复”损坏的代码。 这里的问题是:您将块元素嵌套在内联元素中。请将外部跨度更改为 div!

如果您需要帮助修复它 - 请详细说明模板,它是 js 代码还是 php 代码?尽可能贴出代码。

【讨论】:

  • 由于浏览器没有资格更改元素,它正在修复您的嵌套结构。
  • 该示例涉及许多移动部件,包括我无法更改其行为的 3rd 方库。他们返回一个跨度,我用块元素替换内容。不过,就解决方案而言,我很擅长。
  • 好吧,一个跨度只能有...跨度在里面。没有其他的。 (还有一些其他内联项,但不应使用它们)。 “该示例涉及许多移动部件,包括 3rd 方库” - 为什么?更好地编写你的代码,无论是 JS 还是 php,无论你喜欢什么。您现在生成的代码无效。而且事后也没有什么好的办法用JS来修复。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-05
  • 2014-12-09
  • 2011-11-12
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多