现在的位置: 首页 > 综合 > 正文

对JQuery进行下标操作得到的是js对象

2018年05月24日 ⁄ 综合 ⁄ 共 530字 ⁄ 字号 评论关闭

    产生问题的代码:

function sendNewList2Server(clientType, clientVer, ulDom){
	var lis = $(ulDom).children();
	var domains = "";
	for(var i=0; i<lis.length; ++i){
		if(i == 0) {
			domains = lis[i].attr("id");
		} else {
			domains = domains + "_" + lis[i].attr("id");
		}
	}
}

    这段代码的目的是遍历一个ul元素下的li元素,并将所有的li的id拼接起来。lis是一个JQuery对象,当我当时遍历ul的时候,想当然的用了下标操作符,而下标操作是js的语法。然后程序运行到去下标操作的时候,代码报错。

请教有经验的同事才知道,对JQuery对象使用下标操作符会得到相对应的Js对象。这才意识到JQuery对象和Js对象间的区别。于是搜了下JQuery对象和Js对象相互转化的方法。

JQuery对象转换成Js对象:li[0]或者lis.get(0);

Js对象转转JQuery对象:$(lis[0])

之所以JQuery对象转换成Js对象用的是取下标操作,是因为通过JQuery查询获得的是对象集,是一个集合。

抱歉!评论已关闭.