数量不会增加

时间:2015-09-14 07:55:24

标签: javascript jquery

我遇到了像 this 这样的问题。单击后第一行编号增加,但单击后第二行编号不增加。我希望点击后所有的数字都增加。我认为jquery代码是错误的,请有人帮我修复我的jquery代码。

我的代码:

<?php
    include("mwcon.php");
?>
<html>
<head>
    <link rel='stylesheet' type='text/css' href='/css/post.css'>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
    <script>
        $(document).ready(function(){
            $("#post-vote-top").click(function () {
                $("#post-vote-middle").text(function(){
                    return ~~$(this).text() + 1
                });
            });             
        });
    </script>
</head>
<body>
<?php
    echo "
        <div id='post'>
            <table>
    ";
    $no=1;
    $q=mysql_query("SELECT * FROM t_post");
    while($f=mysql_fetch_object($q)){
        echo "
            <tr>
                <td id='post-nomor'>$no.</td>
                <td id='post-vote' align='center'>
                    <div id='main'>
                        <div id='post-vote-top'></div>
                        <div id='post-vote-middle'>$f->vote</div>
                        <div id='post-vote-bottom'></div>
                    </div>
                </td>
                <td><a href='$url' target='_blank'><img src='$f->linkimg' width='80' height='50'></img></a></td>
            </tr>
        ";
        $no++;
    }
    echo "
            </table>
        </div>
    ";
?>
</body>
</html>

请帮帮我。谢谢。

1 个答案:

答案 0 :(得分:2)

id应该是唯一使用class。您可以使用 next() 在点击元素

后立即选择元素

&#13;
&#13;
$(document).ready(function() {
  $(".post-vote-top").click(function() {
    $(this).next(".post-vote-middle").text(function(i, v) {
      return parseInt(v, 10)+1;
    });
  });
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<table>
  <tr>
    <td id='post-nomor'>$no.</td>
    <td id='post-vote' align='center'>
      <div class='main'>
        <div class='post-vote-top'>up</div>
        <div class='post-vote-middle'>1</div>
        <div class='post-vote-bottom'></div>
      </div>
    </td>
    <td></td>
  </tr>
  <tr>
    <td id='post-nomor'>$no.</td>
    <td id='post-vote' align='center'>
      <div class='main'>
        <div class='post-vote-top'>up</div>
        <div class='post-vote-middle'>1</div>
        <div class='post-vote-bottom'></div>
      </div>
    </td>
    <td></td>
  </tr>
</table>
&#13;
&#13;
&#13;