2014-03-26 34 views
1

所以我在一個很老的網站,是表沉重的工作 - 一切都已經轉換成的div和main.ts裏面我都試圖消除內嵌樣式,因爲函數remove_all_styles()不起作用。Moovweb只有部分的內嵌樣式被刪除

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

我也嘗試添加刪除(「.//@ style」),但仍未能在頁面的一半中刪除div style =「」。我沒有多少運氣找到解決方案,所以任何幫助將不勝感激。

編輯 - 作爲一個臨時的解決方案我用這個自定義JavaScript我對CSS技巧發現 - http://css-tricks.com/snippets/javascript/remove-inline-styles/

,但我知道有一個更合適的解決方案Moovweb在某處。

感謝,

回答

2

我的猜測是,如果您查看源代碼,內聯樣式不會在那裏,這意味着風格與JS後來添加的。否則,如果你已經作用域到正確的div remove(".//@style")會工作。

,我能想到的

唯一的氚實現是一個有點哈克但爲我工作好幾次。你需要扭轉工程師的桌面JS,增加了這些內嵌樣式,並找出它使用的選擇。然後,您可以通過更改屬性或重命名節點

例如找到一個解決辦法,如果桌面JS是這樣的 $(".price-table th").css("color", "red"); 或類似這樣的$(".my-table th").attr("style", "");

您可以覆蓋氚類名來打破上面的jQuery選擇器。

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

不錯的解決方法。 – Ishan