gpt4 book ai didi

javascript - children().length 正在返回一个意外的值

转载 作者:行者123 更新时间:2023-11-30 10:28:57 25 4
gpt4 key购买 nike

一切都可以在这里找到:http://jsfiddle.net/dweiliu/NBFMq/3/

这是有问题的相关代码:

$('article.weeklyStandings').each(function(){
var numPlayers = $(this).children('table tr').length;
$(this).children('h2').append(" - " + numPlayers + " Players");
});

我可能有多个数据表,其结果显示在 jsfiddle 中。我想通过查找表中的行数来指出在任何给定周玩游戏的玩家数量。

为什么 $(this).children('table tr').length; 在 jsfiddle 上返回 0?请注意,在我的本地机器上,同样的代码返回 3。

最佳答案

您遇到的问题是:

  1. children() 只会查看直接子级。您需要使用 find() 来查找每篇文章中的所有 table tr
  2. 如果您计算所有的 tr,您最终会多出一个,因为您的头球也将被算作一名球员。为此,您可以从 tr 的长度中减去 1。

解决方案

以下是实现上述解决方案的示例:Demo

var numPlayers = $(this).find('table tr').length -1;

备选方案(我会使用的那个)

因为你的播放器 tr 上有一个 record 类,你可以在你的选择器中使用 .record ,如果你想添加,这将提供更好的可读性和灵 active future 不应算作玩家的其他行:Demo

var numPlayers = $(this).find('.record').length;

另一种选择

您还可以使用上下文选择器,例如 $('.record', this) 而不是 $(this).find('.record'),但在我认为 find() 链接更容易阅读。此外,由于上下文选择器在内部必须使用 find(),因此直接使用 find() 会稍微好一些:Performance test

关于javascript - children().length 正在返回一个意外的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18081921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com