2012-09-09 27 views
4

我正在調用具有出色jquery ajax能力的另一個頁面的網頁。我的問題是:ajax頁面中有一個css文件。被調用的頁面需要它,但我不想在主頁面中看到子頁面的CSS樣式。防止Ajax CSS使用JQuery Ajax破壞主要的CSS

這裏是我怎麼稱呼我的子頁面的摘要:

<script> 
$.ajax({ 
type: "GET", 
    url: "subpage.html", 
    success: function(msg){ 
     $('#box').html(msg); 
    } 
}); 
</script> 

<div id='box'> 
</div> 

所以,subpage.html是一種接口到我的項目的另一個模塊,它有它自己的CSS文件。任何偉大的知識或技巧,以防止從我的主頁的CSS文件? PHP解決方案也可以接受。

回答

0

您可以使用iframe s(W3C reference,MDN reference)。要加載在iframe特定的頁面使用JavaScript,使用這樣的事情,HTML:

<iframe id = "iframeID" height = "300px" width = "300px"></iframe> 

然後,當你要加載的頁面:

document.getElementById("iframeID").src = "subpage.html"; 
+0

嗯,我不知道爲什麼,但人們不喜歡使用iframe時,有一個AJAX,我認爲這就是爲什麼我看到這個職位上的負面標誌。無論如何,我很高興接受這個解決方案。 –

+0

如果您的頭銜更像是您尋找的東西的標誌,它將對整個社區有所幫助;在我看來,你正在尋找一個解決方案,同時保留ajax負載,但你接受的答案看起來像它幾乎會完全取代ajax負載。也許你的標題應該是沿着「另一種方式,除了ajax加載到子頁面到主文檔」的行的地方..只是我的2美分的價值=) – vynx

+0

其實我最初不是尋找替代品,但有幾個jQuery .contents()技巧我能夠處理這個問題,如果有另一種方法來做到這一點,我將不勝感激,並接受這個答案,而不接受這個問題。這就是爲什麼我至少要檢查一下這一頁的原因。 =) –

0

取而代之的是,你可以使用jQuery .load像這樣:

$('#box').load('subpage.html #the_id_of_something'); 

這個例子將把#the_id_of_somethingsubpage.html內容加載到#box上你爸GE。

+0

非常確定這不是OP想要的。 – Chris

+0

關鍵是他想從'subpage.html'加載各種元素,但是沒有'subpage.html'內定義的CSS影響頁面的其餘部分。 – Chris

+0

難道他不能僅僅使用'html'作爲選擇器,那麼他不會得到在其'head'中定義的CSS? –