jQuery怎么取到每个tr里的第二个td

如题所述

$(tbody).find('tr').eq(1).find('td').eq(2);

这条代码取的是第1个tr的第2个td

你可以用$(tbody).find('tr').size()取所有tr

然后在循环中取第二个td

有两种方法可以获取tr下的第二个td元素:

1、使用css选择器,$("tr td:nth-child(2)")。

2、使用遍历函数eq()。

下面就以上两个方法进行实例演示:单击按钮改变所有行的第二个单元格的样式,单击任意行改变该行第二个单元格的样式。

1、HTML结构

<table id = "test">

<tr><td>1</td><td>1</td><td>2</td><td>3</td></tr>

<tr><td>2</td><td>4</td><td>5</td><td>6</td></tr>

<tr><td>3</td><td>7</td><td>8</td><td>9</td></tr>

<tr><td>4</td><td>1</td><td>2</td><td>3</td></tr>

</table>

<input type="button" id="btn" value="设置">

2、jquery代码

$(function(){    $("#btn").click(function() {        $("#test tr td:nth-child(2)").addClass('red');    });    $("#test tr").click(function() {        $(this).children('td').eq(1).addClass('red');    });});

温馨提示:答案为网友推荐,仅供参考
第1个回答  推荐于2017-12-16

$(tbody).find('tr').eq(1).find('td').eq(2);

这条代码取的是第1个tr的第2个td

你可以用$(tbody).find('tr').size()取所有tr

然后在循环中取第二个td

for (var i = 0 ; i < $(tbody).find('tr').size();i++){
    console.log( $(tbody).find('tr').eq(i).find('td').eq(2))
}

本回答被提问者采纳
第2个回答  2016-08-30
<script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>
<table>
    <tr>
        <td>hello</td>
        <td>word</td>
        <td>php</td>
    </tr>
    <tr>
        <td>hello2</td>
        <td>word2</td>
        <td>php2</td>
    </tr>
    <tr>
        <td>hello3</td>
        <td>word3</td>
        <td>php3</td>
    </tr>
</table>
<script type="text/javascript">
$('table tr').each(function(){
    txt = $(this).find('td:eq(1)').text()
    alert(txt);
})
</script>

相似回答