2012-04-02 105 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

相关问题