0

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

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

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

4

1 回答 1

5

$.active

保持活跃查询数的计数器

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

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

$.camelCase(字符串)

将虚线转换为驼峰式

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

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

$.easing

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

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

var bounceSupported = "easeInOutBounce" in $.easing;

$.isReady

DOM 准备好使用了吗?一旦发生就设置为真。

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

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

$.readyWait

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

但是我发现除了与 for 相同之外没有其他用途$.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");
    }
});

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


$().push

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

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

$a.push($b[0]);

使用示例:jQuery 连接选择器而不创建新实例?

于 2013-01-15T19:33:34.917 回答