我最近升级了PHPStorm IDE的版本,现在它警告我jQuery使用效率低下.

例如:

var property_single_location = $("#property [data-role='content'] .container");

Prompts this warning:

判断jQuery Select 器是否以有效的方式使用.它表明

所以我的问题是:

为什么这样做效率很低?执行上述 Select 的有效方法是什么?

I'd guess at:

var property_single_location = $("#property").find("[data-role='content']").find(".container");

Is this the right way?

推荐答案

今天我也遇到了同样的问题,多亏了Scott Kosman here,我才找到了解决办法.

基本上,答案是单独 Select ID,然后对下面的任何内容使用.find(...).以你为例:

$("#property [data-role='content'] .container");

将其更改为该值会使PhpStorm感到高兴,并且显然可以达到more than twice as fast:

$("#property").find("[data-role='content'] .container");

Jquery相关问答推荐

子 li 元素的点击事件

为什么我不能在 window.onload 事件的处理程序中将 $ jQuery 对象作为参数传递?

ASP.NET MVC - Ajax 将空值传递给控制器

如何在外部JS文件中使用带有参数的laravel路由

为什么在 jQuery 插件中返回 this.each(function())?

jQuery函数从数组中获取所有唯一元素?

提高 jQuery Select 器性能的好方法?

如何滚动到jQuery中的元素?

JQuery 仅在 Rails 4 应用程序中的页面刷新时加载

如何在 jQuery .each() 的每次迭代之间添加暂停?

判断复选框是否未选中单击 - jQuery

在jquery中查找具有某个属性值的所有元素

如何使 jQuery Contains 不区分大小写,包括 jQuery 1.8+?

如何让 twitter bootstrap 子菜单在左侧打开?

如何从所有元素jquery中删除类

在 javascript/浏览器中缓存 jquery ajax 响应

如何禁用由子元素触发的 mouseout 事件?

'touchstart' 事件是否有与点击事件相同的 e.PageX 位置?

jquery ui Dialog:无法在初始化之前调用对话框上的方法

jQuery,简单的轮询示例