作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
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 元素数组的数组
转换为元素数组
?)谢谢!
最佳答案
JQuery 根据类型处理操作。在代码的第一行中,如果找到所有 HTML TR 对象,并且借助此信息,它可以将必要的功能附加到找到的对象。
$('tr').find('td')
但是,在将其更改为可枚举对象后,它无法理解,因为它似乎不再是 HTML 对象,而是变成任何其他类型的对象。因此,jquery 无法向其附加函数。
$('tr').toEnumerable()
关于javascript - LINQ-For-Javascript 嵌套数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9474642/
我是一名优秀的程序员,十分优秀!