我认为自己(充其量)是一个中级 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() { ... };
我正在梳理这个领域......我明白了如何single命令已处理...但我真的不知道在哪里或如何处理命令链被管理。所以我显然错过了一些东西。
所以我的问题是:
- jQuery 如何实现选择器链接?
上的所有方法jQuery
对象将返回一个jQuery
目的。
在此特定示例中,您可以看到它们正在创建jQuery().find( selector )
and jQuery( elem || [] )
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)