2011-11-18 33 views
3

我有一個內容div與font-family:Tahoma。當用戶點擊帖子時,ajax代碼將獲取該帖子的內容並放入我的特定div。CSS/HTML - 強制風格給父母的孩子

在正常情況下(點擊任何鏈接之前)內容顯示爲Tahoma字體,當調用ajax時會出現問題,並且新內容以不同的字體和大小顯示在中。

如何使新的打印內容顯示在我所需的字體系列(Tahoma)中?意義從父級繼承字體。

這裏是我的HTML代碼http://jsfiddle.net/KZAVd/

這是點擊後後會發生什麼(使用Firebug檢查):http://jsfiddle.net/KZAVd/3/

+0

您可以爲其添加一個班級: myclass { font-family:Tahoma; font-size:12px; } – zaoudis

+0

我們可以得到一個前後的html嗎? – user800612

+0

內容正在通過「內聯」樣式進行設計。任何你可以用css做的都會改變這些,他們需要在你把它們加入後用javascript修復。你可以發佈你用來導入內容的AJAX嗎? – Sinetheta

回答

1

不需要處理AJAX的所有常見任務,讓jquery去做。

function ajaxFunctionFinal(id, title, content) 
{ 
    var queryString = "?post_id=" + id + "&ts=" + new Date().getTime(); 

    $.ajax({ 
     url: "fetch.php" + queryString, 
     complete: function(data){ 
      $("#post_more").html(data.responseText) 
       .find('*').removeAttr("style"); 
      $("#post_content").html(content); 
      $("#post_title").html(title); 
      InlineMp3(); 
     } 
    }); 
} 

特別感興趣的線給您的是.find('*').removeAttr("style");將抓住新插入內容的所有後代折騰自己的風格屬性,從而粉碎與它們附帶的直列風格,讓你的CSS的完全控制。

ps:我顯然不能測試這個,所以隨意評論任何問題,或發佈一個完整的URL來獲取。PHP,以便我可以與你一起測試(如果沒有私人信息的話)

+0

非常感謝。現在好多了 – xperator

0

,除非它是明確設置不同,一個元素將繼承FONT-FAMILY從它的父元素。嘗試使用Firebug或類似的工具,並且您將能夠確切地知道樣式來自哪裏。

0

取決於您點擊帖子鏈接時的加載情況,嘗試設置帖子本身的樣式,而不是在加載後設置樣式。

+0

是的,我知道我可以做到這一點,但這將是一個痛苦在屁股改變每一個字體從wordpress側 – xperator

0

如果您想要整頁,請嘗試使用正文標籤: body { font-family:Tahoma; } 我將盡力找到另一種方式

+0

我也試過你的代碼但沒有工作... – xperator

0

您需要明確設置字體家庭爲孩子

3

A.確保你的Ajax的內容是進入同一個地方確定之前是什麼。

和/或

B.設置div.content, div.content *{font-family:Tahoma}

+0

我檢查它,仍然沒有工作 – xperator

+0

然後是時候發佈你的HTML。 –

+0

我發佈的代碼http://jsfiddle.net/KZAVd/ – xperator

1

您可以爲內容的div以下類:

.content * { 
    font-family:Tahoma !important; 
} 

像這樣:

<div class="content"> 
    ...ajax content... 
</div> 

這將迫使任何子元素始終具有Tahoma字體。

+0

它不會以這種方式工作! – xperator

+1

我跑了一個從你的小提琴派生的測試,它的工作,即使當你在子元素中強制字體家族:http://jsfiddle.net/D3m8U/ –