计算具有相同类的不同表的TD数

时间:2013-03-14 14:25:44

标签: jquery

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

<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 个答案:

答案 0 :(得分:1)

因为您的代码正在计算所有tds,因为您在循环$('.lives.prono_live td')内部有类选择器...使用$(this)引用它应该可以工作..

试试这个

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

fiddle here

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

试试这个......

$(".lives.prono_live").each(function() {
    alert($("td", this).length);
});

答案 3 :(得分:0)

在$ .each()循环中,你需要用$(this)来定位“current”元素。

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