【问题标题】:Firefox 24 inappropriately applies css on dynamic contentFirefox 24 不适当地将 css 应用于动态内容
【发布时间】:2013-11-04 16:07:57
【问题描述】:

我有一个带有样式表的页面。该表可以在 TBODY 中以行开头,也可以不以行开头。 如果最初存在一行,则原始表以及动态添加的任何内容(通过 jquery $.get 并附加到 TBODY)将正确显示。

如果 TBODY 中最初没有行,则将显示动态添加的行,但没有在整个表上定义的边框 css。将边框直接添加到动态行将不起作用,因为它们(正确地)被在表格级别应用的 css 覆盖(正确覆盖,但仍不显示)

如果我确保最初存在一个虚拟行,然后通过 display:none 将其隐藏,那么当该行被隐藏时,动态添加的行上的边框就会消失。

这个问题在 IE9 或 Chrome 上没有出现。任何想法,以及任何与 Firefox 相关的人都想将其作为错误说明提交?

【问题讨论】:

  • 能否分享您的 HTML、CSS 等内容?当我们不必准确猜测您的代码中发生了什么时,您将有更好的机会获得有用的答案。
  • @user2307922 你弄明白了吗?

标签: jquery html css firefox


【解决方案1】:

这听起来像是两件事之一:

  • 您的标记无效,并且不同的浏览器处理错误的方式不同。
  • 您遇到了一个合法的 Firefox 错误,应该让 Mozilla 的好心人知道。您可以提交和跟踪自己的错误报告here

我会在表格被填充之前和之后对您的标记进行三次检查,同时对 ajax 响应中的标记进行三次检查;然后如果它仍然看起来像一个错误,请提交报告并等待更新。

如果等待更新对于您的情况来说需要很长时间,那么可能是时候寻找破解了。

【讨论】:

  • +1 用于无效标记检查。我发现在使用 javascript 操作 DOM 内容时,如果您添加的内容在某些方面无效,浏览器可能会出现不可预知的行为。我建议除了检查之前和之后的标记之外,OP 还检查从 ajax 请求返回的 HTML。
猜你喜欢
  • 1970-01-01
  • 2019-06-12
  • 1970-01-01
  • 2017-08-25
  • 1970-01-01
  • 1970-01-01
  • 2019-01-31
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多