使用Moovweb只删除了一些内联样式

时间:2014-03-26 16:29:40

标签: inline moovweb tritium

所以我在一个非常古老的网站工作 - 一切都已转换为div,而在main.ts内部,我尝试删除内联样式,因为函数remove_all_styles()不起作用。

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

我也尝试添加删除(" .//@ style")但仍未能删除div style =""在页面的一半。我没有太多运气找到解决方案,所以任何帮助将不胜感激。

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

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

谢谢,

1 个答案:

答案 0 :(得分:2)

我的猜测是,如果您查看源代码,则内联样式不会出现,这意味着稍后会使用JS添加样式。否则,remove(".//@style")如果您已经确定了正确的div,那么$(".price-table th").css("color", "red");就可以了。

我能想到的唯一的氚实施有点笨拙,但有几次为我工作。您需要对添加内联样式的桌面js进行反向工程,并找出它使用的选择器。然后,您可以通过更改属性或重命名节点

来找到解决方法

例如,如果桌面js是这样的 $(".my-table th").attr("style", ""); 或像这样{{1}}

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

$(".//table[@class='price-table']") {
  attributes(class: "new-price-table)
}