jQuery .each()函数问题

Gab*_*tos 0 each jquery loops

我使用jQuery的.each()函数来解决这个问题.我想对我所拥有的表的行和列进行排序,我试图通过将名为'row'和'col'的属性添加到我的'td'标签来实现.

基本上我的代码看起来像这样:

$('tr').each(function(tr_index) {
    $('td').each(function(td_index) {
        $(this).attr({
            'row' : tr_index,
            'col' : td_index,
        });
    });
});
Run Code Online (Sandbox Code Playgroud)

但这给了我以下输出:

<td row="6" col="0"></td>
<td row="6" col="1"></td>
<td row="6" col="2"></td>
<td row="6" col="3"></td>
<td row="6" col="4"></td>
<td row="6" col="5"></td>
<td row="6" col="6"></td>
Run Code Online (Sandbox Code Playgroud)

row属性在每个'td'标记上输出6.这是否意味着在触发第二个.each()循环之前执行第一个.each()循环?

任何想法我怎么能改变这个,所以我有这样的事情:

<td row="0" col="0"></td>
<td row="0" col="1"></td>
<td row="0" col="2"></td>
<td row="1" col="0"></td>
<td row="1" col="1"></td>
<td row="1" col="2"></td>
<td row="2" col="0"></td>
Run Code Online (Sandbox Code Playgroud)

等等...

如果有人为我解决这个问题,我将不胜感激,因为我似乎无法绕过它.

Hac*_*ins 5

试试这个

        $('tr').each(function(idx_row){
            $(this).children().each(function(idx_col){
                $(this).attr({'row':idx_row, 'col':idx_col});
            })
        });
Run Code Online (Sandbox Code Playgroud)