產生問題的代碼:
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 的下載地址:請點這裡