gpt4 book ai didi

jquery - jQuery 如何让返回值看起来像一个数组?

转载 作者:行者123 更新时间:2023-12-03 22:32:52 24 4
gpt4 key购买 nike

jQuery(); //[]
jQuery("#footer"); //[<div id="footer">...</div>]

我知道你可以做这样的事情:

function kablam(tag) {
var els = document.getElementsByTagName(tag);
els.isKablam = true;
return els;
}
var body = kablam("body"); //[<body class="ask-page">...</body>]
body.isKablam; //true

返回 NodeList 的“扩展”版本这是从 document.getElementsByTagName 返回的。

然而,jQuery 却恰恰相反。它将结果合并到自身中(如 herehere 所示)。此外,这并不能解释当你不向它传递任何内容时它如何返回一个看起来像数组的数组对象:

jQuery(); //[]

当你这样做时,jQuery 只是返回它自己。 (source)

或者以同样的方式,当您选择正文标记时:

jQuery("body"); //[<body class="ask-page">...</body>]

( source )

或者,想一想,任何事情:

var o = {}, body = document.getElementsByTagName("body");
jQuery.merge(o, body); //Object, not [...]

返回类似数组的对象非常容易,因为分配数字键很简单,并且与分配任何其他键没有什么不同。但是 jQuery 如何让它“看起来像”一个数组呢?

最佳答案

您需要在原型(prototype)上定义 .length.splice.push 才能使其像数组一样显示。

其他一些数组方法的组合也可能有效。

Example

关于jquery - jQuery 如何让返回值看起来像一个数组?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7846193/

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