js中for+递归 出问题

JavaScript014

js中for+递归 出问题,第1张

你获取红色分支的时候应该是异步去后台取的数据吧。

因为js是单线程的,所以在发送请求(去获取红色后的分支)后,继续执行下边的代码。蓝色分支被加上。

所以你应该在获取完红色分支的数据之后,在success 的function中再把蓝色的显示出来。

用JQuery.deferred 可以满足你的需求。

上边是根据你的描述猜的,有问题,再追问吧。

用jquery很容易实现:

var divs=""

$("ul#p div").each(function(x){

alert("第"+x+"个div")

divs+=$(this).attr("id")+","

})

divs中就是ul下面所有div的id集合,用,间隔的