从具有特定数量 td 的表中选择所有 tr

发布于 2024-12-03 06:30:59 字数 447 浏览 1 评论 0原文

我有一个表,

<table>
 <tr>
  <td colspan="3"></td>
 </tr>
 <tr> //select this
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr> //select this
   <td></td>
   <td></td>
   <td></td>
 </tr>
</table>

所以对于上面的表,我想选择包含 3 个 td 的所有 trs,

我怎样才能用 jquery 做到这一点?

基本上我需要获取此类行的计数。

I have table

<table>
 <tr>
  <td colspan="3"></td>
 </tr>
 <tr> //select this
  <td></td>
  <td></td>
  <td></td>
 </tr>
 <tr> //select this
   <td></td>
   <td></td>
   <td></td>
 </tr>
</table>

so for the above table i want to select all trs which contains 3 tds

how could i do that with jquery?

basically i would need to get the count of such rows.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

素罗衫 2024-12-10 06:30:59

您可以使用 .filter() [docs]

$('table tr').filter(function(){
    return $(this).children('td').length === 3;
});

注意: @mu的答案是更简洁,并且在现代浏览器中表现更好。我仍然会留下这个答案作为 .filter() 的一般演示。

You can use .filter() [docs]:

$('table tr').filter(function(){
    return $(this).children('td').length === 3;
});

Notice: @mu's answer is more concise and will perform better in modern browsers. I will still leave this answer as a general demonstration for .filter().

缺⑴份安定 2024-12-10 06:30:59

您可以选择每个 中的第三个 并向上跳转一个级别以获取父级:

$('tr td:nth-child(3)').parent();

使用 :nth-child 在这种情况下是安全的,因为您的 应该只包含 子级。

例如:

h = $('<table><tr colspan="3"><td></td></tr><tr id="x"><td><span>x</span></td><td></td><td></td></tr><tr id="y"><td></td><td></td><td></td></tr></table>');
trs = h.find('tr td:nth-child(3)').parent();
// trs[0] is <tr id="x">
// trs[1] is <tr id="y">

Felix Kling 提供的演示(现在 jsfiddle.net 已恢复运行): http://jsfiddle.net /6kMTE

You could select the third <td> in each <tr> and the jump up a level to get the parent:

$('tr td:nth-child(3)').parent();

Using :nth-child in this case is safe because your <tr>s should only have <td> children.

For example:

h = $('<table><tr colspan="3"><td></td></tr><tr id="x"><td><span>x</span></td><td></td><td></td></tr><tr id="y"><td></td><td></td><td></td></tr></table>');
trs = h.find('tr td:nth-child(3)').parent();
// trs[0] is <tr id="x">
// trs[1] is <tr id="y">

And a demo provided by Felix Kling (now that jsfiddle.net is back in action): http://jsfiddle.net/6kMTE

枯叶蝶 2024-12-10 06:30:59

您可以使用:

$('tr:has(td:eq(2))')

选择位置 3 中包含 td 的任何 tr(js 从零开始)。

注意您的 html 无效 - colspan 属于 td,而不是 tr

You can use:

$('tr:has(td:eq(2))')

which selects any tr containing a td in position 3 (js is zero-based).

Note your html is invalid - the colspan belongs on the td, not the tr

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文