我想收集所有有用的未记录的jQuery方法和属性(至少对于当前版本 1.9.0)。
其中一些在解决特定问题或加速 JavaScript 代码评估方面看起来很有希望。
重要提示:由于此处列出的功能没有记录,因此应谨慎使用,因为新版本的 jQuery 可能在未来版本中不支持这些功能。
我想收集所有有用的未记录的jQuery方法和属性(至少对于当前版本 1.9.0)。
其中一些在解决特定问题或加速 JavaScript 代码评估方面看起来很有希望。
重要提示:由于此处列出的功能没有记录,因此应谨慎使用,因为新版本的 jQuery 可能在未来版本中不支持这些功能。
保持活跃查询数的计数器
当需要检查正在运行的 Ajax 请求的数量时,此属性很有用。例如,可以使用以下代码来防止双重 Ajax 请求:
$("button").on("click", function() {
if ($.active.length === 0) {
$.ajax({ ... });
}
});
将虚线转换为驼峰式
虽然 jQuery 在css和数据模块中使用此方法,但您可以使用它将格式中的字符串转换xxx-yyy-zzz
为xxxYyyZzz
:
var str = $.camelCase("xxx-yyy-zzz"); // "xxxYyyZzz
此属性包含所有受支持的缓动效果以及用于计算这些效果的函数。默认情况下 jQuery 仅支持linear
和swing
效果,但如果您包含jQueryUI $.easing
属性,将使用其他效果进行扩展。
例如,我们可以使用以下代码轻松检查是否支持反弹效果:
var bounceSupported = "easeInOutBounce" in $.easing;
DOM 准备好使用了吗?一旦发生就设置为真。
如果由于某种原因您不使用 event.properties,则此属性可用作检查 DOM 是否已完全加载的标志$(document).ready()
。到目前为止的简单示例:
if (!$.isReady) {
$.error("DOM was not fully loaded yet");
}
一个计数器,用于跟踪在 ready 事件触发之前要等待的项目数。
但是我发现除了与 for 相同之外没有其他用途$.isReady
。
用于检索 DOM 节点数组的文本值的实用函数。
从 DOM 树中获取文本内容的快速方法。当您需要加速与 DOM 元素一起使用的代码时,它很有用:
$("div").on("click", function() {
console.log( $.text(this) );
});
此属性保存 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 连接选择器而不创建新实例?