所以我有一个难题,希望有人已经掌握了答案.阅读jQuery源代码,我还没有理解这里真正发生了什么.
$('#div') //returns a jQuery object
$( $('#div') ) // returns an identical jQuery object
$( $( $( $( $( $('#div') ) ) ) ) ) // returns the same idential object
我已经遇到插件开发中的实例,我不知道期望sting选择器或jQuery对象.在那些实例中,我只是将选择器或jQuery对象传递给jQuery,以便保证我想要的jQuery对象.它运作良好,但感觉太神奇了.我这样做的时候真的发生了什么?有没有更好的办法?
最佳答案 基本我认为在函数$(…)中存在一些基本情况.
>在Arg中是String类型,传递它并查找或创建HTML Dom元素,然后将其封装到JQuery对象中.
>在Arg中是HTML Dom类型,将对象封装到JQuery对象中
>在Arg中是JQuery Object,返回它就是这样
但实际上存在更多情况,并且在此之前有一些调试和错误检查.
在http://jsapi.info/jquery/1.8.0/jQuery.fn.init查看更多信息
从代码中我可以看到,如果有的话.
var x = $('#div');
var y = $(x);
x和y的内容相等
但x和y的记忆并不相等.
说我们有:
class ${
var x;
$($t) {
this.x = t.x
}
}
如果我们都调用$这将具有相同的内在价值
但实际上并不是两个不同的对象.