Themeroller (v1.11.4) 不适用于页面

Themeroller (v1.11.4) not applying to page

我正在使用 jquery-ui 制作一个将由网页工具使用的 themeroller 主题。问题是,即使内联样式适用,主题也不适用于页面。我已经完成了 here and here 的说明,这让我有点困惑。第一个讨论将一行添加到 <head> 标记,而第二个讨论额外的两行。在我看来,额外的两行是为了添加功能,第一行是为了页面主题。

我仔细研究了他们的变更日志,发现自定义和 prebuilt 主题的命名约定和文件结构从 1.11.0 版开始发生了变化。可能与此有关,我还没有在此处(或其他地方)找到任何反映新变化及其实施意义的帖子。

我已经尝试使用我计算机上所有内容的本地下载版本以及 google 托管的 CDN 版本,两者都没有应用。

如果我犯了一些愚蠢的错误或者我在文档中遗漏了什么,我会接受任何回答这个问题的人,而不是直接回答这个问题,这会把我推向正确的方向。否则,我会卡住,需要一些帮助。

(值得一提的是,这是我第一次使用 css 和 jquery)

这就是我的。

文件结构布局:

Test
  |-external
    |-jquery
      |-jquery.js (Source said v1.10.2)
  |-images
    |- a whole bunch of png files
  |-index.html
  |-jquery-ui.css
  |-jquery-ui.js
  |-jquery-ui.structure.css
  |-jquery-ui.theme.css
There are minified versions of the css and js files as well

我的<head>:

 <head>
    <title>Decision</title>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <link type="text/css" href='jquery-ui.css' rel='stylesheet'>
    <script src="external/jquery/jquery.js"></script>
    <script src="jquery-ui.js"></script>
    <style>
        body{
            font: 62.5% "Segoe UI", sans-serif;
            margin: 50px;
        }
        .demoHeaders {
            margin-top: 2em;
        }
        #dialog-link {
            padding: .4em 1em .4em 20px;
            text-decoration: none;
            position: relative;
        }
        #dialog-link span.ui-icon {
            margin: 0 5px 0 0;
            position: absolute;
            left: .2em;
            top: 50%;
            margin-top: -8px;
        }
        #icons {
            margin: 0;
            padding: 0;
        }
        #icons li {
            margin: 2px;
            position: relative;
            padding: 4px 0;
            cursor: pointer;
            float: left;
            list-style: none;
        }
        #icons span.ui-icon {
            float: left;
            margin: 0 4px;
        }
        .fakewindowcontain .ui-widget-overlay {
            position: absolute;
        }
        select {
            width: 200px;
        }
    </style>

</head>

和我的底部 <body>

<script>
$( "#accordion" ).accordion();



var availableTags = [
    "ActionScript",
    "AppleScript",
    "Asp",
    "BASIC",
    "C",
    "C++",
    "Clojure",
    "COBOL",
    "ColdFusion",
    "Erlang",
    "Fortran",
    "Groovy",
    "Haskell",
    "Java",
    "JavaScript",
    "Lisp",
    "Perl",
    "PHP",
    "Python",
    "Ruby",
    "Scala",
    "Scheme"
];
$( "#autocomplete" ).autocomplete({
    source: availableTags
});



$( "#button" ).button();
$( "#radioset" ).buttonset();



$( "#tabs" ).tabs();



$( "#dialog" ).dialog({
    autoOpen: false,
    width: 400,
    buttons: [
        {
            text: "Ok",
            click: function() {
                $( this ).dialog( "close" );
            }
        },
        {
            text: "Cancel",
            click: function() {
                $( this ).dialog( "close" );
            }
        }
    ]
});

// Link to open the dialog
$( "#dialog-link" ).click(function( event ) {
    $( "#dialog" ).dialog( "open" );
    event.preventDefault();
});



$( "#datepicker" ).datepicker({
    inline: true
});



$( "#slider" ).slider({
    range: true,
    values: [ 17, 67 ]
});



$( "#progressbar" ).progressbar({
    value: 20
});



$( "#spinner" ).spinner();



$( "#menu" ).menu();



$( "#tooltip" ).tooltip();



$( "#selectmenu" ).selectmenu();


// Hover states on the static widgets
$( "#dialog-link, #icons li" ).hover(
    function() {
        $( this ).addClass( "ui-state-hover" );
    },
    function() {
        $( this ).removeClass( "ui-state-hover" );
    }
);

所以,像往常一样,答案很简单,我是愚蠢的。

我没有正确地通过 ID 引用我的元素。我认为导入 themeroller 主题会自动为页面设置主题,但您必须确保在正文底部的脚本中引用了您的元素。

例如,我有:

<button id="myButton"></button>
...
$(#button).button({
    label: "ClickMe"
});

并且该按钮将显示为没有名称,也没有主题。我需要像这样正确引用 ID:

<button id="myButton"></button>
...
$(#myButton).button({
    label: "ClickMe"
});