jQuery在一个页面上的多个主题

llo*_*ips 6 jquery themes jquery-ui themeroller

这让我努力!我已经按照这里似乎没有工作的帖子:http: //www.filamentgroup.com/lab/using_multiple_jquery_ui_themes_on_a_single_page/

我有一个基本主题,例如它是来自jQuery UI库的Smoothness主题.然后我有一个'红色'主题,基本上按红色按钮.这是我创建的主题.

所以我去下载我的主题.选择高级设置,将范围设置为"红色",将主题文件夹名称设置为"红色"并下载.首先,我不是完全100%确定我要复制到我的项目的文件夹是'development-bundle\themes'文件夹(包含我的红色文件夹)还是'\ css\red'文件夹?

我试过了两个.上面的帖子似乎暗示如果我复制我的主题文件夹并链接到我在css中的主题,当我将一个'red'类添加到包装器div或元素时,它将起作用.所以我在我的文件中链接了这样的主题:

<link type="text/css" href="themes/base/jquery.ui.all.css" rel="stylesheet" />
<link type="text/css" href="themes/red/jquery.ui.all.css" rel="stylesheet" />
Run Code Online (Sandbox Code Playgroud)

基本主题加载并工作所有honkey doorey但红色主题不.我有一个样式的按钮:

<input type="submit" id="btn" value="A submit button" class="red" />
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

<div class="red">
    <input type="submit" id="btn" value="A submit button" />
</div>
Run Code Online (Sandbox Code Playgroud)

都没有工作.当我删除'themes/base/jquery.ui.all.css'css文件链接时,按钮的样式根本没有.疯!我把头发拉了出来.我哪里错了?当然,他们应该很容易下载JUST主题文件夹并引用ui.all文件.

Dän*_*änu 0

斯科德斯是对的。

您必须在 JQuery 表示法中使用元素 id、类或标记名。

  • 对于一个类:.class
  • 对于 ID:#id
  • 对于标记名:表

您最好选择类方式,因为它不仅比其他方式更优雅,而且更可用(它可以在多个对象上使用),并且您不会弄乱任何布局元素,例如 div 或表格。毕竟,css 范围只是将提供的值添加到每个 css 定义中。IE

.ui-icon { ... }
Run Code Online (Sandbox Code Playgroud)

变成

.scope .ui-icon { ... } 
Run Code Online (Sandbox Code Playgroud)

编辑:确保您包含正确的样式表,我使用以下代码完成了整个工作

<html>
    <head>
        <title>JQuery UI Theme Scope</title>
        <script type="text/javascript" src="js/jquery-1.4.2.min.js"></script>
        <script type="text/javascript" src="js/jquery-ui-1.8.1.custom.min.js"></script>
        <link type="text/css" href="css/red/jquery-ui-1.8.1.custom.css" rel="stylesheet" />
        <link type="text/css" href="css/default/jquery-ui-1.8.1.default.css" rel="stylesheet" />
    </head>
    <body>
        <input type="submit" class="ui-state-default ui-corner-all" value="Submit" />
        <div class="red">
            <input type="submit" class="ui-state-default ui-corner-all" value="Submit" />
        </div>
    </body>
</html>
Run Code Online (Sandbox Code Playgroud)

不要链接到“development-bundle”目录中的样式表,而是使用“css”目录中的样式表。