1

假设我们有两个具有相同类的表,唯一的区别是列数。

<table class="lives prono_live">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
    </tr>
</table>

<table class="lives prono_live">
    <tr>
        <td>1</td>
        <td>2</td>
        <td>3</td>
        <td>4</td>
        <td>5</td>           
    </tr>
</table>

我想要一个 jQuery 函数,它可以在一个循环中为我提供每个表的 TD 编号。

我创建了这段代码:

$( '.lives.prono_live' ).each(function( index ) {
    alert($('.lives.prono_live td').length);
});

这段代码不好,只是部分。

这段代码的作用:

  • 显示两个值为 9 和 9 的警报框

我想拥有的:

  • 显示两个警报框,值为 4 和 5

任何人都知道如何做到这一点?

4

4 回答 4

1

tds因为你的循环里面有类选择器,所以你的代码正在计数$('.lives.prono_live td')......使用$(this)参考,它应该可以工作..

尝试这个

$( '.lives.prono_live' ).each(function( index ) {
  alert($(this).find('td').length); 
});

在这里摆弄

于 2013-03-14T14:28:10.557 回答
0

您需要使用this,否则您将同时使用类选择器。

$( '.lives.prono_live' ).each(function( index ) {
    alert($(this).find('td').length);
});
于 2013-03-14T14:28:49.143 回答
0

尝试这个...

$(".lives.prono_live").each(function() {
    alert($("td", this).length);
});
于 2013-03-14T14:29:15.593 回答
0

在 $.each() 循环中,您需要使用 $(this) 定位“当前”元素。

$( '.lives.prono_live' ).each( function( index ) {
    alert( $( this ).find( 'td' ).length );
});
于 2013-03-14T14:31:07.860 回答