当通过php加载时,JQuery UI未检测到CSS样式
问题描述:
我使用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
值或其他属性。
答
你写的javascript函数不会自动添加样式到你的元素。它只会使用包含的jqueryui.css中的样式。我发现只有静态标记中的标签-2中有一条样式线,如果这是您想要应用的唯一样式,则应该只写一条js线来添加此样式。
这是你在你的标签-2方式也行
风格= “高度:250像素;”
应用这个风格,你可以做到这一点通过以下方式
$( “#标签-2”)的CSS( “高度”, “250像素”)。
加载标签之前或调用选择之前做这个标签-2
+0
谢谢阿比德 - 我开始明白了。我其实只是想'JQuery UI' CSS显示,但它不是这样做的(它不止一行)。它适用于“标签1”,但不包含“标签2”。 – djq 2012-04-02 21:35:43
#标签-2是指风格得到应用到一个元素id为“标签-2” JQuery的仿CSS选择器所以它意味着同样的事情。 – 2012-04-02 21:29:19
是否有必要使用对象名称将样式重新应用于对象?我不清楚为什么选项卡的内容不以相同的方式显示。 – djq 2012-04-02 21:32:26
CSS是常青树。 JS命中对象,所以如果它被替换,你将需要重新应用JS应用的任何东西,即使它具有相同的ID。您可以将样式表应用于JS的样式表(使样式适用于它们出现时匹配的元素),但通常只需使用要打击的ID /类在容器中进出HTML即可。 – 2012-04-02 21:52:48