jQuery对象可用数组下标索引是什么原理?
vararr=$("div")arr[0]就是arr里的第一个div对象,可是arr又不是Array对象,这是什么原理要自己定义一个类型也能这样索引怎么弄document...
var arr=$("div")
arr[0] 就是arr 里的第一个div对象,可是arr又不是 Array对象,这是什么原理
要自己定义一个类型也能这样索引怎么弄
document.getElementsByTagName("div") 返回一个NodeList 也能按下标索引 展开
arr[0] 就是arr 里的第一个div对象,可是arr又不是 Array对象,这是什么原理
要自己定义一个类型也能这样索引怎么弄
document.getElementsByTagName("div") 返回一个NodeList 也能按下标索引 展开
2个回答
展开全部
jquery中定义的都是弱类型,你给他赋什么类型的值,那么这个变量就是什么类型,而$("div")就是所有的div对象,应该也算是那种数组或者什么的。
你要定义的话只要后边的赋值是数组或其他有这种操作方式的对象就可以了
你要定义的话只要后边的赋值是数组或其他有这种操作方式的对象就可以了
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
第一种:
function getAllDoms(){
var imiArray = {};
var allDoms = document.getElementsByTagName("*");
for(var i = 0; i < allDoms.length; i++){
imiArray[i] = allDoms[i];
}
imiArray.length = allDoms.length;
return imiArray;
}
这种办法得到的对象有leng属性,也能索引,但是他不是Array类型的。
第二种:
(function (){
var imiArray = function(){};
imiArray.prototype = new Array();
imiArray.prototype.alertLength = function(){
alert(this.length);
}
window.aryToImiArray = function(ary){
var _this = new imiArray();
for(var i = 0; i < ary.length; i++){
_this.push(ary[i]);
}
return _this;
}
})();
第一种调用:
getAllDoms(); //返回一个伪数组对象
第二种调用:
aryToImiArray([1,2,3]); //返回一个数组的子类的实例对象,该对象只比数组多出一个alertLength方法,其余的数组有的方法他都用
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询