产生问题的代码:
function sendNewList2Server(clientType, clientVer, ulDom){
var <SPAN>lis</SPAN> = $(ulDom).children();
var domains = "";
for(var i=0; i<lis.length; ++i){
if(i == 0) {
domains = <SPAN>lis[i]</SPAN>.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查询获得的是对象集,是一个集合。
jQuery 的详细介绍:请点这里
jQuery 的下载地址:请点这里
推荐阅读: