有用的未记录的jQuery方法和属性

我想收集所有有用的未记录的jQuery方法和属性(至少对于当前版本1.9.0 )。

其中一些看起来很有希望解决特定问题,或加速JavaScript代码评估。

重要提示:由于此处列出的function未记录在案,因此应谨慎使用,因为新版本的jQuery在将来的版本中可能不支持这些function。

$。主动

用于保存活动查询数的计数器

当需要检查正在运行的Ajax请求的数量时,此属性非常有用。 例如,以下代码可用于防止双Ajax请求:

 $("button").on("click", function() { if ($.active.length === 0) { $.ajax({ ... }); } }); 

$ .camelCase(串)

将虚线转换为camelCase

虽然jQuery在css数据模块中使用此方法,但您可以使用它将格式为xxx-yyy-zzz字符串转换为xxxYyyZzz

 var str = $.camelCase("xxx-yyy-zzz"); // "xxxYyyZzz 

$ .easing

此属性包含所有支持的缓动效果,以及用于计算这些效果的函数。 默认情况下,jQuery仅支持linearswing效果,但如果包含jQueryUI ,则$.easing属性将与其他效果一起扩展。

例如,我们可以使用以下代码轻松检查是否支持跳出效果:

 var bounceSupported = "easeInOutBounce" in $.easing; 

$ .isReady

DOM是否可以使用? 一旦发生,设置为true。

如果由于某种原因您不使用$(document).ready()事件,则此属性可用作检查DOM是否已完全加载的标志。 到目前为止的简单示例

 if (!$.isReady) { $.error("DOM was not fully loaded yet"); } 

$ .readyWait

一个计数器,用于跟踪在就绪事件触发之前要等待的项目数。

然而我发现除了$.isReady之外没有其他用途。


$的.text(ELEM)

用于检索DOM节点数组的文本值的实用程序函数。

从DOM树中提取文本内容的快速方法。 当您需要加速使用DOM元素的代码时,它非常有用:

 $("div").on("click", function() { console.log( $.text(this) ); }); 

$ .timers

此属性包含jQuery元素动画的计时器。 它可用于快速检查是否有任何动画进程一次运行,而不是$(":animated").length

 $("span").on("click", function() { if ($.timers.length === 0) { $(".flows, #spoiler, #par > p").fadeIn("slow"); } }); 

一个很好的用法示例可以从这个问题中获得 。


$()。推

此方法的行为与Array.push()相同,向jQuery对象添加新的DOM元素。 与$a = $a.add($b)

 var $a = $("#element1"), $b = $("#element2"); $a.push($b[0]); 

用法示例: jQuery串联选择器而不创建新实例?