-1

私は頭が痛いです !私は(私が信じている)非常に単純なjQuery UIプロセスである何かをしようとしていますが、それを機能させることができません。問題の原因となっている変数として何を特定すればよいかわかりません。

かもしれない:

  1. 私のコード
  2. ビジュアル スタジオ 2012 RC
  3. jQuery UI 1.8.22

私がやろうとしているのは、jQuery ボタンを作成し、その上にアイコンを配置することです。欲しいアイコンはplus-thickアイコンです。

ページのcssjs"インポート" は次のとおりです (順序が間違っていますか?):

<link rel="stylesheet" type="text/css" href="Content/Default.css" />
<link rel="stylesheet" type="text/css" href="Content/themes/cupertino/jquery-ui-1.8.22.custom.css" />
<script type="text/javascript" src="Scripts/jquery-1.7.2.min.js"></script>
<script type="text/javascript" src="Scripts/jquery-ui-1.8.22.custom.min.js"></script>

これを行うために使用しているコードは次のとおりです。

$('.headerButtonsDiv > a')
.button()
.button("option", "icons", { primary: 'ui-icon-plus-thick' })
.click(function () {
    var text = $(this).text();
    alert(text + ' clicked!');
    return false;
});

これは私の最初の試みでした(ちなみに、上記と同じ結果です):

$('.headerButtonsDiv > a')
.button( { icons: { primary: 'ui-icon-plus-thick' } } )
.click(function () {
    var text = $(this).text();
    alert(text + ' clicked!');
    return false;
});

このコードの影響を受けるボタンは 3 つあります。

結果は次のとおりです。

  1. 要素は<a>jQuery ボタンに正しく変換されます。
  2. 各ボタンには、ボタンの左側にアイコンが正しく表示されます。
  3. 各ボタンには、誤って のcarat-1-n代わりにアイコンが表示されますplus-thick

ページ インスペクタ (IE や Chrome を使用) に入ると、button(変換された<a>要素) にドリルダウンし、それとその 2 つ<span>のサブ要素を確認します。<span>アイコンの要素にはui-icon-plus-thickクラスが適用されていますが、何も適用されていませんbackground-position

したがって、クラス存在しますが、実際には適用されていません。background-position手動で属性 ( background-position: -32px -128px;)を追加すると、 「魔法のように」正しいアイコンが表示されます;-)。

<span>ボタンを作成し、正しいサブ要素を選択してから「手動で」background-position自分自身を適用するという回避策を見つけることができると思いますが、それはまさにjQueryライブラリが行うべきことではありませんか?

いずれにせよ、私が脱線した場所を誰かが見てくれたら、本当に感謝します! これは本当に小さな問題ですが、これを機能させることができない場合、より複雑な問題について確信が持てません

4

1 に答える 1

1

他の誰かが私の愚かさを指摘する前に、私はこの答えを見てうれしいです!!!

私が実際に欲しかったクラスは次のとおりui-icon-plusthickです。

私が使用したのは:ui-icon-plus-thick

私はこれを2時間見つめましたが、一気に( "-")の違いに気付くことはありませんでした。

Arrrrrrrghhhhhh !!!!!

于 2012-07-31T12:48:03.257 に答える