gpt4 book ai didi

javascript - 当需要匹配多个元素时,可以替代 $ ("#id .class") 语法吗?

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

当我写下类似以下内容时:

$("#id .class").css("display", "none");

PhpStorm 向我发出警告:jQuery 使用效率低下。

我在这里阅读了几个与此相关的问题,以及 this article这表明使用 .find() 方法可以显着加快速度。

因此,我尽职尽责地检查了所有代码并更改了如下行:

$("#id .class").css("display", "none");

对此:

$("#id").find(".class").css("display", "none");

不幸的是,这似乎仅将链接函数(在本例中为 .css())应用于页面上的第一个匹配元素。因此,当有多个 .class 元素需要隐藏时,新代码只隐藏第一个。

我应该恢复到以前的方式,还是有一种更有效的方法可以处理多个元素?

最佳答案

您的 DOM 中有多个重复的 id,这是您应该解决的另一个问题。 $('#id') 只会找到 #id第一个实例,而 #id .class ,由于 CSS 选择器自下而上工作,因此会查找具有 #id 父级的 .class 的所有实例,因此它会查找您所期待的页面。 ID 应该是唯一的,因此要么解决该问题,要么只是恢复您的选择器。

关于javascript - 当需要匹配多个元素时,可以替代 $ ("#id .class") 语法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25224349/

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