0

これは私のjQueryコードです:

$('.ajax_modal a').not('.popup').live('click', function(e){

//do something

 });

アンカーa.popupをクリックしても、何も起こらないと思います。

<div class="ajax_modal">
<a class="popup">Should do nothing</div>
<a class="something">Should do something<a>
</div>

代わりに、ページを壊している次のエラーが発生します。

エラー:構文エラー、認識されない式:.ajax_modal a.not(.popup)

4

3 に答える 3

2

.live()連鎖走査法ではうまく機能しません。

これをに変更します

$('.ajax_modal a:.not(.popup)')
于 2013-02-06T19:15:28.603 に答える
1

1:タグが正しく閉じられていません。

<div class="ajax_modal">
  <a class="popup">Should do nothing</div>
  <a class="something">Should do something<a>
</div>

する必要があります:

<div class="ajax_modal">
  <a class="popup">Should do nothing</a> <!-- changed from </div> -->
  <a class="something">Should do something</a> <!-- changed from <a> -->
</div>

2:以下に示すよう:not()にではなく、.not()使用することをお勧めします。

$('.ajax_modal a:not(".popup")').on('click', function(e){
   console.log(this);
});

3:最後に、live非推奨になりました。したがって、を使用onしてイベントをバインドします

于 2013-02-06T19:18:59.543 に答える
0

おそらく、「ポップアップ」ハイパーリンクがタグではなくタグで閉じられているためです。同様に、「何か」のハイパーリンクが適切に閉じられていません。また、注目に値するのは、一部のブラウザは、ハイパーリンクタグに「href」属性が含まれていないことについて不満を言っているため、少なくともhref="#"それらを追加することです。

于 2013-02-06T19:19:25.317 に答える