0

のクラスのリンクが複数ありvideo、ユーザーがリンクをクリックしたときに id 属性を追加したいと考えています。

私のコードは次のとおりです。

   $(function () {$(".video").click(function(e){
   e.preventDefault();
   $(this).attr('id', 'selected');
   });}); 

リンクをクリックした後、コードが表示されたら。Firebug は、変更なしで同じコードを示しています。

4

2 に答える 2

2

プレーンな JavaScript を試してください:

this.id = "selected";

それが機能する場合、それは jQuery-fart です。それでも動作しない場合は、Firebug を正しく使用していることを確認してください (私は使用していませんが、IE ではボタンをクリックして DOM ビューを更新する必要があることを知っています)。代わりにクラス(またはdata-*属性)を使用して修正します

于 2013-02-19T18:50:06.123 に答える
1

投稿したコードに問題はないので、他の場所で何か問題が発生しています。ここにいくつかの一般的なアドバイスがあります:

  • 何が起こっているのかを理解するために、コードをより適切にフォーマットします
  • $が未定義であるか、グローバルスコープで他の何かとして定義されている場合に備えて、$をjQueryとして定義する囲まれた関数で常にラップします
  • IDではなく、クラスとして「選択済み」などを適用します
  • 文書の速記を使用しないでください。それは、それが何をしているのかを説明しておらず、読めません。

例えば

(function($) {

  $(document).ready(function() {

    $('.video').click(function(ev) {

      ev.preventDefault();

      //$(this).attr('id', 'selected');
      $(this).toggleClass('selected'); // This will turn the "selected" class on and off for each click

    });

  );

})(jQuery);
于 2013-02-19T18:58:24.827 に答える