1

所以我在一个非常旧的网站工作,该网站很重 - 所有内容都已转换为 div,并且在 main.ts 内部我尝试删除内联样式,因为函数 remove_all_styles() 不起作用。

@func XMLNode.remove_all_styles() {
  remove(".//link[@rel='stylesheet'][not(@data-mw-keep)]|.//style")
}

我还尝试添加 remove(".//@style") 并且仍然无法删除页面一半上的 div style="" 。我没有太多运气找到解决方案,因此将不胜感激。

编辑 - 作为临时解决方案,我使用了我在 CSS 技巧上找到的自定义 JavaScript - http://css-tricks.com/snippets/javascript/remove-inline-styles/

但我知道某处有更合适的 Moovweb 解决方案。

谢谢,

4

1 回答 1

2

我的猜测是,如果您查看源代码,则内联样式将不存在,这意味着样式是稍后使用 JS 添加的。否则remove(".//@style"),如果您已将范围划分为正确的 div,则可能会起作用。

我能想到的唯一氚实现有点笨拙,但在很多情况下都对我有用。您需要对添加这些内联样式的桌面 js 进行逆向工程,并找出它使用的选择器。然后您可以通过更改属性或重命名节点来找到解决方法

比如如果桌面js是这样 $(".price-table th").css("color", "red"); 或者这样的$(".my-table th").attr("style", "");

您可以覆盖 tritium 中的类名来破坏上面的 jquery 选择器。

$(".//table[@class='price-table']") {
  属性(类:“新价格表)
}
于 2014-03-26T20:56:14.957 回答