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

Vis*_*ioN -1 javascript jquery

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

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

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

Vis*_*ioN 5

$.主动

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

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

$("button").on("click", function() {
    if ($.active.length === 0) {
        $.ajax({ ... });
    }
});
Run Code Online (Sandbox Code Playgroud)

$ .camelCase(串)

将虚线转换为camelCase

虽然jQuery在css数据模块中使用此方法,但您可以使用它将格式转换xxx-yyy-zzzxxxYyyZzz:

var str = $.camelCase("xxx-yyy-zzz");  // "xxxYyyZzz
Run Code Online (Sandbox Code Playgroud)

$ .easing

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

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

var bounceSupported = "easeInOutBounce" in $.easing;
Run Code Online (Sandbox Code Playgroud)

$ .isReady

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

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

if (!$.isReady) {
    $.error("DOM was not fully loaded yet");
}
Run Code Online (Sandbox Code Playgroud)

$ .readyWait

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

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


$的.text(ELEM)

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

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

$("div").on("click", function() {
    console.log( $.text(this) );
});
Run Code Online (Sandbox Code Playgroud)

$ .timers

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

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

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


$().推

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

var $a = $("#element1"),
    $b = $("#element2");

$a.push($b[0]);
Run Code Online (Sandbox Code Playgroud)

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