第二个也应该是juqery对象啊 本帖最后由 shopnc2017 于 2014-11-30 12:29:56 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 var obj = { data : ["a","b","c"], get: function(i){ return this.data[i]; }}var str = obj.get(0);//按你的理解,这应该返回Object了? $cr.get(0)等于$cr[0] 返回的是dom对象想返回JQ集合中的单个JQ对象要用$cr.eq(0) 你还是没有解释请楚,为啥用get(0)返回的就是dom对象呢,而用eq(0)返回的就是JQ对象呢,我问的就是这个问题。 自己看源码吧。 get: function( num ) { return num == null ? // Return a 'clean' array this.toArray() : // Return just the object ( num < 0 ? this[ this.length + num ] : this[ num ] ); }, eq: function( i ) { i = +i; return i === -1 ? this.slice( i ) : this.slice( i, i + 1 ); }, slice: function() { return this.pushStack( slice.apply( this, arguments ), "slice", slice.call(arguments).join(",") ); }, pushStack: function( elems, name, selector ) { // Build a new jQuery matched element set var ret = this.constructor(); if ( jQuery.isArray( elems ) ) { push.apply( ret, elems ); } else { jQuery.merge( ret, elems ); } // Add the old object onto the stack (as a reference) ret.prevObject = this; ret.context = this.context; if ( name === "find" ) { ret.selector = this.selector + ( this.selector ? " " : "" ) + selector; } else if ( name ) { ret.selector = this.selector + "." + name + "(" + selector + ")"; } // Return the newly-formed element set return ret; }你要是再问每行代码是什么意思,那我也不知道说什么好了。 你可以看一下API文档,get()是专门定义的一个可以对DOM对象进行操作的方法,至于你要问我别人怎么为什么这样定义,这个我就真不知道了 作者就这么规定的!get()方法返回集合中的DOM,eq()方法返回集合中的$!你觉得这样不合理可以自己写一个,你自己规定一个方法的执行规则!你可以用get()返回$,用eq()返回DOM 你还是没有解释请楚,为啥用get(0)返回的就是dom对象呢,而用eq(0)返回的就是JQ对象呢,我问的就是这个问题。其實也不用解釋,因為這就是JQ本來的功能定義官方的API已經說明要DOM就是用GET,JQ對象就是用EQ js json 如何解决保存多个name相同的文本框的值 网页中一行字的秘密。。。求教高手!!!! 如何在javascript 如何知道当前获得焦点的元素 ,谢谢大侠了 下拉菜单居中问题,急 100分求:如何使弹出的窗口总在最前? 如何让javascript在一定时间内从固定的文本文件内提取信息? 如何改变层的可见性? meizz(梅花雨) 谁能告诉我这段程序问题在哪里,该如何修改? 周末加班跪求答案 js,在if判断的情况下,怎么输出<link href="Styles\大版.css" rel="stylesheet" type="text/css" />
var obj = {
data : ["a","b","c"],
get: function(i){
return this.data[i];
}
}
var str = obj.get(0);//按你的理解,这应该返回Object了?
想返回JQ集合中的单个JQ对象要用$cr.eq(0)
return num == null ? // Return a 'clean' array
this.toArray() : // Return just the object
( num < 0 ? this[ this.length + num ] : this[ num ] );
},
eq: function( i ) {
i = +i;
return i === -1 ?
this.slice( i ) :
this.slice( i, i + 1 );
},
slice: function() {
return this.pushStack( slice.apply( this, arguments ),
"slice", slice.call(arguments).join(",") );
},
pushStack: function( elems, name, selector ) {
// Build a new jQuery matched element set
var ret = this.constructor(); if ( jQuery.isArray( elems ) ) {
push.apply( ret, elems ); } else {
jQuery.merge( ret, elems );
} // Add the old object onto the stack (as a reference)
ret.prevObject = this; ret.context = this.context; if ( name === "find" ) {
ret.selector = this.selector + ( this.selector ? " " : "" ) + selector;
} else if ( name ) {
ret.selector = this.selector + "." + name + "(" + selector + ")";
} // Return the newly-formed element set
return ret;
}
你要是再问每行代码是什么意思,那我也不知道说什么好了。
get()方法返回集合中的DOM,eq()方法返回集合中的$!你觉得这样不合理可以自己写一个,你自己规定一个方法的执行规则!你可以用get()返回$,用eq()返回DOM
官方的API已經說明要DOM就是用GET,JQ對象就是用EQ