-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

请勿将 class 与 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 回答