0

以下は部分的に機能します。

($(".call_1") || $("#call_1")).click(function(evt) 
      {
        evt.preventDefault();
        $("#championSlideshow, #pourSlideshow, #skimSlideshow").fadeOut(0,function()
        {
         $("#prepareSlideshow").fadeIn();
             console.log(prepare);
        });
   });

ピックアップし#call_1ますが、クリックしてもありません.call_1

多分構文が間違っていますか?

4

3 に答える 3

5

「複数セレクター」を使用するつもりだったと思います:

$("#call_1, .call_1").click(function(evt) {

});

現在のコードでは、 の評価($(".call_1") || $("#call_1"))は単純に を返し$(".call_1")ます。どちらの呼び出しも jQuery オブジェクトを返すため、常に true になります。

于 2012-10-02T16:51:17.650 に答える
4

こちらをご覧ください: http://api.jquery.com/multiple-selector/

$(".call_1") || $("#call_1")する必要があります$(".call_1, #call_1")

任意の数のセレクターを指定して、1 つの結果に組み合わせることができます。この複数式コンビネータは、異種の要素を効率的に選択する方法です。返される jQuery オブジェクト内の DOM 要素の順序は、ドキュメントの順序になるため、同じではない場合があります。

簡単なjsFiddle の例を次に示します。

于 2012-10-02T16:51:25.760 に答える
2

として試してみてください

$('.call_1, #call_1')

両方.call_1で機能します#call_1

于 2012-10-02T16:54:08.850 に答える