如何在2 css样式表之间切换以与jQuery-UI一起使用?

时间:2012-10-15 11:28:16

标签: javascript jquery css jquery-ui stylesheet

我对jQuery和javascript很新,我创建了一个简单的.html文件,以便使用2种不同的jQuery-ui样式表进行测试。

我想要实现的是示例对话框将使用“轻弹”样式表打开,此对话框中的日期选择器将打开“ui-lightness”样式表。

我试图在用户单击对话框中的文本框时附加所选样式表,但仍然使用“轻弹”样式表。

我的html文件中的代码如下:

<!doctype html>

<html>

<head>
<meta charset="utf-8">
<title>jQuery Multiple Themes</title>
<link rel="stylesheet" type="text/css" href="css/flick/jquery-ui-1.9.0.custom.css">

<script type="text/javascript" src="js/jquery.js"></script>
<script type="text/javascript" src="js/jquery-ui.js"></script>

<script type="text/javascript">

    function openDialog() {
        $("#dialog").dialog();
    }

    function loadDatePicker() {

        $('head').append('<link rel="stylesheet" type="text/css" href="css/ui-lightness/jquery-ui.1.8.24.custom.css">');

        $("#date").datepicker({});
    }

</script>

</head>

<body>

<input type="button" value="Open Dialog" onclick="openDialog()">

<div id="dialog" title="Test Mutiple Themes" style="display: none">
    Click to open a date picker in a different CSS theme
    <input id="date" type="text" size="8" onclick="loadDatePicker()">
</div>

</body>

</html>

由于缺乏这些脚本的经验,我希望看到一个简单的语法错误。

2 个答案:

答案 0 :(得分:2)

<ul id="nav">
<li><a href="#" rel="/path/to/style1.css">Default CSS</a></li>
<li><a href="#" rel="/path/to/style2.css">Larger Text</a></li>
<li><a href="#" rel="/path/to/style3.css">Something Different</a></li>
</ul>

jQuery

$(document).ready(function() { 
$("#nav li a").click(function() { 
    $("link").attr("href",$(this).attr('rel'));
    return false;
});
});

此处的说明:http://www.cssnewbie.com/simple-jquery-stylesheet-switcher/

答案 1 :(得分:1)

在themeroller下载页面上,您可以为主题设置“CSS SCOPE”。这将在您选择的类前面添加样式表中所有UI类的前缀。

这允许在标记中设置与范围类对话的对话框,以及与其范围类相同的另一个小部件,例如dateepicker。