有用的未记录的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仅支持linear
和swing
效果,但如果包含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串联选择器而不创建新实例?