2

我有这个 jQuery 选择器:

'table tbody tr td:first-of-type'

如何从 $(this) 为同一行构造单元格选择器?我需要检查

 $(document).on('click','table tbody tr td:first-of-type',function()
 {
   if ( $('table tbody tr td:nth-child(2)').text() != "" ) // for the same row !!
   //do something
   else
   //do something else
 }

额外的问题:我应该避免使用像 nth-child() 这样的 CSS3 选择器并使用像 eq() 这样的 jquery 选择器吗?

4

2 回答 2

5

只找到最近的tr

$(this).closest("tr")

并选择一个td,使用.find()链接到那个:

$(this).closest("tr").find("td") //and whatever criteria you need
于 2013-10-07T18:25:46.620 回答
0

工作代码:

   <html>
        <head>
        <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
        <script type="text/javascript">
        $(document).ready(function(e) {
        if ($('table tbody tr td:nth-child(2)').text() != "" ){ // for the same row
       //do something
        // alert($('table tbody tr td:nth-child(2)').text());
        }else{
       //do something else
       //alert("test");
        }

           });
        </script>

        </head>
        <body>
        <table>
        <tbody>
            <tr>
                <td>itemOne</td>
                <td>itemOneInfo</td>
                <td>Info</td>
            </tr>
            </tbody>
        </table>
        </body>
        </html>
于 2013-10-07T18:31:04.797 回答