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


产生问题的代码:

function sendNewList2Server(clientType, clientVer, ulDom){
 var <SPAN style="COLOR: #ff6666">lis</SPAN> = $(ulDom).children();
 var domains = "";
 for(var i=0; i<lis.length; ++i){
  if(i == 0) {
   domains = <SPAN style="COLOR: #ff0000">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 的下载地址:请点这里

推荐阅读:

jQuery权威指南 PDF版中文+配套源代码

jQuery实战 中文PDF+源码

《jQuery即学即用(双色)》 PDF+源代码

锋利的jQuery(第2版) 完整版PDF+源码

jQuery完成带复选框的表格行高亮显示

相关内容