-1

私は正常に動作するこのjqueryコードを持っていますが、最後の画像はここで指定したsrcに変更されていません:

jquery:

    $(document).ready( function() {
      $("a.vote_up").click(function(){
        //get the id
        var the_id = $(this).attr('id');

        //the main ajax request
        $.ajax( {
          type: "POST",
          data: "action=vote_up&id=" + the_id,
          url: "ajax/votes.php",
          success: function( msg ) {
            $("span.vote_count#"+the_id).html(msg).fadeIn();
// my problem is here 
            $(".vote_up#" + the_id + " img").attr("src", "img/upvoteActive.png");
          }
        } );
      } );
    } );

htmlコード:

<a href='#' class='vote_up' id="$id"><img src="img/uparrow.png" /></a>
4

2 に答える 2

4

クラスをIDと組み合わせて使用​​しないでください。IDは常に一意である必要があるため、冗長です...

 $("#" + the_id + " img").attr("src", "img/upvoteActive.png");

また、ID属性に文字$を使用することはできません。ID属性でW3Cを引用するには...

IDトークンとNAMEトークンは、文字([A-Za-z])で始まる必要があり、その後に任意の数の文字、数字([0-9])、ハイフン( "-")、アンダースコア( "_")を続けることができます。 、コロン( ":")、およびピリオド( "。")。

于 2010-10-05T18:58:42.683 に答える
1

同じIDを複数回使用しているようです(imgとcount)。次のようにIDをより一意にしてみてください。

<a href='#' class='vote_up' id="$id_link"><img src="img/uparrow.png" /></a>
<span class="vote_count" id="$id_count"></span>
于 2010-10-05T19:04:37.497 に答える