gpt4 book ai didi

javascript - jQuery自定义过滤器问题: element stack is way too much

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

我正在尝试实现“:random”选择器,它从元素堆栈中选择一个随机元素。

代码如下:http://jsfiddle.net/nuSWF/

问题是选择器有时会尝试选择不存在的元素(索引外)。所以我准备了演示代码,突出显示了原因,但我不明白为什么。我觉得这是一个错误或其他什么。

P.S:我知道我可以用其他方法选择一个随机元素,但这次我必须实现这个,同时也想知道里面发生了什么。

最佳答案

您所看到的堆栈长度是正常的,它只是评估 :random 全部选择器<a> mydiv1 中的元素 > child selector之前,所以该点的长度为 4。

例如,这会产生您期望的结果:

var elements2 = $('#mydiv1>a').filter(':random');

You can test it out here .

<小时/>

所以总体而言,您的选择器确实正在过滤随机 <a>元素...但是这些可能会也可能不会 > child selector 进一步过滤掉。稍后(如果它们位于 <span> 下,它们会被过滤)。如果您考虑一下,所有选择器都是如此……您执行的任何过滤器都只会减少元素集……稍后它们可能会被更多选择器进一步过滤。

关于javascript - jQuery自定义过滤器问题: element stack is way too much,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4353433/

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