2012-04-02 106 views
0

我使用JQuery UI生成並加載了一個標籤,當用戶使用我之前詢問的question的建議單擊按鈕時。它可以很好地加載數據,但它不會應用頁面靜態時存在的CSS樣式。當通過php加載時,JQuery UI未檢測到CSS樣式

function createTab2() { 
     // this will add a tab 
     $("#tabs").tabs("add","#tabs-2","1: Population Density");  
     $("#tabs-2").load('tabs/tab2.php'); 
     $('#tabs').tabs('select', "#tabs-2");   
} 

我原來的靜態文件包含以下內容:

<div id="tabs"> 
    <ul> 
     <li><a href="#tabs-1">Tab One</a></li> 
     <li><a href="#tabs-2">Tab Two</a></li>  
    </ul> 
    <div id="tabs-1" style="height:300px;">  <!-- Start Tab 1 -->     
      <form > 
       <div id="radio-b1"> 
        <input type="radio" id="b1" name="type" value="1" /><label for="b1">Radio Button 1</label>       
       </div> 
      </form>  
    </div>  <!-- End Tab 1 --> 

    <div id="tabs-2" style="height:250px;">  <!-- Start Tab 2 --> 
      <form > 
       <div id="radio-p1"> 
        <input type="radio" id="radio4" name="pop_den_1" value="1" /><label for="radio4">Radio Button 2</label>        
       </div> 
      </form> 

    </div>  <!-- End Tab 2 --> 

我取代Tab 2有一個按鈕,調用的JavaScript函數createTab2()tab2.php保存下面的代碼:

<div >   
     <form > 
      <div id="radio-p1"> 
       <input type="radio" id="radio4" name="pop_den_1" value="1" /><label for="radio4">Radio Button 2</label>        
      </div> 
     </form>    
</div>  <!-- End Tab 2 --> 

我如果我需要在創建時向#tab-2添加屬性(例如設置id值或其他屬性。

+0

#標籤-2是指風格得到應用到一個元素id爲「標籤-2」 JQuery的仿CSS選擇器所以它意味着同樣的事情。 – 2012-04-02 21:29:19

+0

是否有必要使用對象名稱將樣式重新應用於對象?我不清楚爲什麼選項卡的內容不以相同的方式顯示。 – djq 2012-04-02 21:32:26

+0

CSS是常青樹。 JS命中對象,所以如果它被替換,你將需要重新應用JS應用的任何東西,即使它具有相同的ID。您可以將樣式表應用於JS的樣式表(使樣式適用於它們出現時匹配的元素),但通常只需使用要打擊的ID /類在容器中進出HTML即可。 – 2012-04-02 21:52:48

回答

1

你寫的javascript函數不會自動添加樣式到你的元素。它只會使用包含的jqueryui.css中的樣式。我發現只有靜態標記中的標籤-2中有一條樣式線,如果這是您想要應用的唯一樣式,則應該只寫一條js線來添加此樣式。

這是你在你的標籤-2方式也行

風格= 「高度:250像素;」

應用這個風格,你可以做到這一點通過以下方式

$( 「#標籤-2」)的CSS( 「高度」, 「250像素」)。

加載標籤之前或調用選擇之前做這個標籤-2

+0

謝謝阿比德 - 我開始明白了。我其實只是想'JQuery UI' CSS顯示,但它不是這樣做的(它不止一行)。它適用於「標籤1」,但不包含「標籤2」。 – djq 2012-04-02 21:35:43

相關問題