gpt4 book ai didi

javascript - LINQ-For-Javascript 嵌套数组

转载 作者:行者123 更新时间:2023-12-01 01:51:15 25 4
gpt4 key购买 nike

Linq-For-Javascript库包含在“jQuery 对象”和“Enumerable 对象”之间转换的函数:toEnumerable() 和 TojQuery()。考虑这两行之间的差异:

$('tr'); // returns array of tr
$('tr').toEnumerable().TojQuery(); // returns array of tr[1]

从 jQuery 转换为 Enumerable 再转换回 jQuery 并不能提供您开始时的信息。最终结果是一个由元素数组组成的数组,每个子数组的长度为 1。我确实需要使用 Enumerable,所以这只是我的问题的一个方便示例。

这意味着要获取元素的 id,您需要执行以下操作:

$('tr')[0].id; // returns "myID"
$('tr').toEnumerable().TojQuery()[0][0].id; // returns "myID"

我对此感到惊讶,因为尽管据称我已经返回了 TojQuery(),但 TojQuery() 返回的对象不适用于典型的 jQuery来电:

$('tr').find('td').length; // returns 170 (in my case)
$('tr').toEnumerable().TojQuery().find('td').length; // returns 0 (BAD)

如果两行都返回 170,我希望它,但显然 Linq-For-Javascript 不能那样工作。

所以,我的问题:

  1. 这是为什么?
  2. 我做错了吗?
  3. 如果没有,有什么好的解决方法吗? (将 1 元素数组的数组 转换为元素数组?)

谢谢!

最佳答案

JQuery 根据类型处理操作。在代码的第一行中,如果找到所有 HTML TR 对象,并且借助此信息,它可以将必要的功能附加到找到的对象。

$('tr').find('td')

但是,在将其更改为可枚举对象后,它无法理解,因为它似乎不再是 HTML 对象,而是变成任何其他类型的对象。因此,jquery 无法向其附加函数。

$('tr').toEnumerable()

关于javascript - LINQ-For-Javascript 嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9474642/

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