jQuery选择器每行的第一个td

时间:2013-05-21 10:45:05

标签: jquery jquery-selectors

我有这个东西:

<table>
  <tr>
    <td>nonono</td> <!-- FIND THIS -->
    </td>foobar</td>
  </tr>
  <tr>
    <td>nonono2</td> <!-- FIND THIS -->
    </td>foobar2</td>
  </tr>
  <tr>
    <td>nonono3</td> <!-- FIND THIS -->
    </td>foobar2</td>
  </tr>
</table>

我试过$('td:first')没有运气;

预期回报:<td>nonono</td><td>nonon2</td><td>nonon3</td>

提前致谢!

7 个答案:

答案 0 :(得分:44)

您应该使用:first-child代替:first

听起来你想要迭代它们。您可以使用.each()

执行此操作

示例:

$('td:first-child').each(function() {
    console.log($(this).text());
});

结果:

nonono
nonono2
nonono3

如果你不想迭代,那么就会发生这种情况:

$('td:first-child').css('background', '#000');

JSFiddle demo

答案 1 :(得分:11)

尝试这个选择器 -

$("tr").find("td:first")

演示--> http://jsfiddle.net/66HbV/

或者

$("tr td:first-child")

演示--> http://jsfiddle.net/66HbV/1/

</td>foobar</td>应为<td>foobar</td>

答案 2 :(得分:2)

使用:

$("tr").find("td:first");

js fiddle - 此示例末尾有.text(),表示它正在返回元素。

或者,您可以使用:

$("td:first-child");

.find() - jQuery API文档

答案 3 :(得分:2)

var tablefirstcolumn=$("tr").find("td:first")
alert(tablefirstcolumn+"of Each row")

答案 4 :(得分:2)

您可以这样做

$(function(){
  $("tr").find("td:eq(0)").css("color","red");
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<table>
  <tr>
    <td>col_1</td>
    <td>col_2</td>
  </tr>
  <tr>
    <td>col_1</td>
    <td>col_2</td>
  </tr>
  <tr>
    <td>col_1</td>
    <td>col_2</td>
  </tr>
  <tr>
    <td>col_1</td>
    <td>col_2</td>
  </tr>
</table>

答案 5 :(得分:1)

var children = null;
$('tr').each(function(){
    var td = $(this).children('td:first');
    if(children == null)
        children = td;
    else
        children.add(td);
});

// children should now hold all the first td elements

答案 6 :(得分:1)

$('td:first-child')将返回您想要的元素集合。

var text = $('td:first-child').map(function() {
  return $(this).html();
}).get();