jQuery查找具有特定类的所有元素

时间:2011-02-13 10:55:03

标签: javascript jquery ajax

我正在使用jQuery AJAX来实现投票系统。我正在使用此代码:

$(".vote_up").click(function(){
    var target = $(this);
    var id = this.id;
    var vote = $(this).attr("class");
    var voteCount = $(this).next('p').attr("class");
    var data = "id=" + id + "&vote=" + vote;
    $.ajax
        ({
            context: this,
            type: "POST",
            url: "vote.php",
            data: data,
            dataType: "json",
            cache: false,
            success: function(data)
            {
                target.attr('disabled','disabled');
                for(var x in data) {
                        $("." + voteCount).html(data[x].vote_up);
                }
            }
    });
});

我通过以下代码获得了输入和相应的<p>元素:

while ($row = mysql_fetch_array($result)){
    echo "<p>" . $row['content'] . "</p>";
    echo "<p>Posted by " . $row['username'] . "</p>";
    if($_SESSION['username']){ 
        echo "<input type='button' id='".$row['id']."' class='vote_up' value='vote up'></input>";
    }
    echo "<p class='votes_up ".$row['id']."'>" . $row['vote_up'] . "</p>";
    if($_SESSION['username']){ 
        echo "<input type='button' id='".$row['id']."' class='vote_down' value='vote down'></input>";
    }
    echo "<p class='votes_down ".$row['id']."'>" . $row['vote_down'] . "</p>";
    echo "<hr />";
}

当用户按下jQuery成功函数的vote_up或vote_down按钮时,它应该更新页面上的所有<p>元素,其类名与输入按钮的ID相同。例如,如果使用ID 12按下输入,那么将有5个<p>元素,类名为12.

1 个答案:

答案 0 :(得分:1)

以数字开头的ID无效。

$(".vote_up").click(function(){
    var clickedElemid = this.id;

    var pElems = $("p." + clickedElemid);
});
相关问题