<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="JS/jquery-1.8.0.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            $(".groupName").click(function () {
                var level = $(this).attr("level");
                alert(level);
                $(this).parent().parent().parent().nextAll().each(function () {                    //Here!!!! var levelTmp = $(this).....att("level");  how to use $(this) to do this?
                    if (levelTmp > level) {
                        $(this).hide();
                    } else {
                        return false;
                    }
                });
            });
        });
    </script>
</head>
<body>
    <table>
        <tr>
            <td>
                <div>
                    <span class="groupName" level="1">1</span>
                </div>
            </td>
        </tr>
        <tr>
            <td">
                <div>
                    <span class="groupName" level="2">2</span>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div>
                    <span class="groupName" level="3">3</span>
                </div>
            </td>
        </tr>
        <tr>
            <td>
                <div>
                    <span class="groupName" level="1">1</span>
                </div>
            </td>
        </tr>
    </table>
</body>
</html>
我现在想这里用 $(this)...什么方法去获得span的level的值?急求!

解决方案 »

  1.   

    不要用  children().first()的方法,因为我也不知道<span>在第几的位置
      

  2.   

    <html xmlns="http://www.w3.org/1999/xhtml">
    <head>
      <title></title>
      <script type="text/javascript" src="JS/jquery-1.8.0.min.js"></script>
      <script type="text/javascript">
        $(document).ready(function() {
          $(".groupName").click(function() {
            var level = $(this).attr("level");
            alert(level);
            $(this).parents("tr").nextAll().each(function() {
              var levelTmp = $(this).find("span").attr("level");
              if (levelTmp > level) {
                $(this).hide();
              } else {
                return false;
              }
            });
          });
        });
      </script>
    </head>
    <body>
    <table>
      <tr>
        <td>
          <div>
            <span class="groupName" level="1">1</span>
          </div>
        </td>
      </tr>
      <tr>
        <td>
          <div>
            <span class="groupName" level="2">2</span>
          </div>
        </td>
      </tr>
      <tr>
        <td>
          <div>
            <span class="groupName" level="3">3</span>
          </div>
        </td>
      </tr>
      <tr>
        <td>
          <div>
            <span class="groupName" level="1">1</span>
          </div>
        </td>
      </tr>
    </table>
    </body>
    </html>
    我不是很清楚你想要的效果,不知道这样是不是