0

タイトルが悪いことをお詫びしますが、この問題を簡単に説明する方法は考えられませんでした。私は次の単純なjQueryを使用しています:-

$("a:not(.havechild)").click(function () {
    $('#nowloading').show();
});

ページ上のリンクがクリックされると、クリックされているリンクがクラス「havechild」を使用して別のレベルのアコーディオンメニューを開く場合を除いて、「NowLoading」スピナーが表示されます。

私の問題は、アコーディオンメニューのサブレベルも「havechild」クラスを使用しているが、アコーディオンを(意図的に)トリガーしないことですが、これは、ロードスピナーが必要なときに表示されないことも意味します。

これは可能だと思いますが、どうすればよいかわかりません。基本的に私はこのようなものが必要です:-

$("a:not(.havechild):else(.havechild .havechild)").click(function () {
    $('#nowloading').show();
});

これは可能ですか?:)

4

1 に答える 1

0

else 条件を記述しようとするのではなく、「and」(セレクター内のコンマ) を使用します。

$("a:not(.havechild), a.havechild a.havechild").click(function () {
    $('#nowloading').show();
});

これにより、両方が選択されます。

  • クラスを持たないすべてのアンカー要素havechild
  • havechildクラスを持ち、そのクラスを持つ祖先アンカー要素も持つすべてのアンカー要素havechild
于 2012-11-15T04:24:38.260 に答える