javascript - jQuery 如何完成命令链?

标签 javascript jquery chaining

我认为自己(充其量)是一个中级 JavaScript 人员……当然……我想了解某些事情是如何完成的,以便我可以编写更好的代码。因此,我一直在深入了解 jQuery,试图更多地了解它是如何完成某些事情的。

例如:
jQuery 通过执行以下操作来处理 IE 和 Opera 按名称而不是 ID 返回项目的情况:

// HANDLE: $("#id")
else 
{
    var elem = document.getElementById( match[3] );

    // Handle the case where IE and Opera return items
    // by name instead of ID
    if ( elem && elem.id != match[3] )
        return jQuery().find( selector );

    // Otherwise, we inject the element directly into the jQuery object
    var ret = jQuery( elem || [] )
    ret.context = document;
    ret.selector = selector;

    return ret;
}

...好吧,这很简单!

但典型的 jQuery 代码行将一系列命令链接在一起:

$('#someElementId').fadeIn().css({ ...Some CSS Properties ... });

现在...我“认为”链接部分在以下区域处理:

jQuery.extend = jQuery.fn.extend = function() { ... };

我正在梳理这个区域......我看到了如何处理一个单个命令......但我并没有真正看到一个链 -命令 被管理。所以我显然遗漏了一些东西。

所以我的问题是:

  1. jQuery 如何实现选择器链接?

最佳答案

jQuery 对象上的所有方法都将返回一个jQuery 对象。

在这个特定示例中,您可以看到正在创建它们 jQuery().find( selector )jQuery( elem || [] )

关于javascript - jQuery 如何完成命令链?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8431615/

相关文章:

javascript - 有什么方法可以在不触发 Change 事件的情况下重新填充 Html Select 的选项(使用 jQuery)?

javascript - 每个卷轴都会带您到一个新的 div 以启用动画

Javascript 函数链接

jquery - 如何在 JQuery 中的同一元素上链接多个点击事件?

javascript - 在国际象棋挑战赛中,常量变量仍在重新分配

javascript - ReactJS 将数据从 Rest API 绑定(bind)到表

javascript - 谷歌表格 : Move a row of data to another sheet based on cell value

Javascript 逻辑运算符 AND 在 'if' 条件内

javascript - 根据部分列数据更改表格行的背景颜色