jQuery 的each函数主要是用来遍历集合的。如xml数据的节点集合,对象集合等。下面就来看看each函数遍历xml的节点集合吧。
首先是Java后台返回来的XML格式的数据,具体代码如下:
out.println("<student id=\"stu\">"); out.println("<name>"); out.println("<firstName>"); out.println("wkl0"); out.println("</firstName>"); out.println("</name>"); out.println("<name>"); out.println("<firstName>"); out.println("wkl1"); out.println("</firstName>"); out.println("</name>"); out.println("<sex>"); out.println("M"); out.println("</sex>"); out.println("<sex>"); out.println("W"); out.println("</sex>"); out.println("</student>");
jQuery代码如下:
//each的使用:遍历的作用.index代表当前的索引,ele代表遍历当前的对象,必须使用$()包起来才可以转为jquery对象,这样才可使用jQuery提供解析XML的方法
var jqobj = $(data); //把dom(xml)对象转为Jquery对象
jqobj.find("student").find("name").each(function(index,ele){//遍历name这个节点。可以直接寻找name,也可以通过name的上级节点来查找name
// var firstName = $(ele).find("firstName"); 两种方式获取值
var firstName = $(this).children("firstName"); //两种方式获取值
var firstText = firstName.text();
alert(firstText);
});
//遍历所有的sex节点
jqobj.find("sex").each(function(){
//因为这里的sex节点是一个没有其他节点包含在里面,所以直接就可以拿到它的节点值。this表示当前对象(节点)。
var sexText = $(this).text();//不用再.find().
alert(sexText);
});