2012-08-08 52 views
0

基本上我包括我的父母頁面中的內容。我需要確保我不會繼承父級中設置的任何樣式。如何讓子元素繼承任何父類型?

我想確保父仍具有應用到內容的樣式,但對於其通過Ajax調用加載應用我的風格我的內容。

+0

我不知道你想做的事,但'$ (「*」)。每個(函數{...})可能會有所幫助。 – JCOC611 2012-08-08 05:30:10

+0

+1,使用iframe。如果這不是一個選項,你可以做類似[YUI重置](http://developer.yahoo.com/yui/reset/)。 – Scotty 2012-08-08 05:35:42

+0

你的問題的標題似乎在問你的問題的身體非常不同。 – nnnnnn 2012-08-08 05:44:15

回答

0

這是非常困難的覆蓋來自父母的每一個風格設置。你必須做一些類似於風格重置的工作,但是如果你是通過CSS來完成的,你甚至必須確保你有足夠的特性來確保你的重寫應用。

你最好的選擇可能是使用它得到一個完全乾淨的樣式上下文的iframe。

如果你知道哪種風格的值是一個問題,你可以手動設置這些你自己的內容容器中的每一個,但是如果你不知道,你就必須涵蓋每一種風格屬性存在(這將是非常低效的,不太實際)。

+0

我很想用這種方法,但希望有另一種方法。我很驚訝這裏沒有圖書館。 – 2012-08-08 05:49:58

+0

@AndrewDouglas--坦白地說,這是iframes存在的一件事情 - 當來自不同來源的完全外國內容被放入其他內容時,你希望外國內容獨立存在。所以,從某種意義上說,解決方案確實存在。 – jfriend00 2012-08-08 05:53:51

+0

這次我打算使用iframe。謝謝大家的建議和幫助。似乎操縱父級內容的樣式屬性的想法太複雜了。 – 2012-08-08 05:59:09

1

你可以試試下面的代碼將重新設置樣式的空白......你也許可以添加自己太...

$('body').find("*").each(function() { 
    $this = $(this); 
    if($this.attr('style').length > 1){ 
     $this.attr('style',''); 
    } 
}) 
+0

這不是他們想要做的。他們只想將自己的內容插入到頁面中,而不是從父對象繼承樣式規則。他們希望頁面中的其他對象保持不變。 – jfriend00 2012-08-08 05:38:29

+0

@ jfriend00 - 這個答案完全符合_title_所要做的問題,但它與_body_所說的問題有點相反。 – nnnnnn 2012-08-08 05:41:35

+0

@nnnnnn - 是的,他們有衝突。該OP的評論說,這是他們渴望的身體描述。我會提出一個標題的編輯來澄清。 – jfriend00 2012-08-08 05:50:14