javascript的一个问题


                                          var dividlen= $(".Divchartsblue").size();
                                            for(var i=0;i<dividlen;i++)
                                            {
                                                  var divid = $(".Divchartsblue").eq(i).attr("id");
                                                  var divip = $(".Divchartsblue").eq(i).attr("ip");
                                                  var task = $(".P_Downlistnews").eq(i).attr("value");
                                                  var href = $(".a"+divid+"").eq(i).attr("href");;
                                                  var jindutiao = document.getElementById(divid);  
                                                  if(jindutiao.style.width != "100%")
                                                  {
                                                  $.ajax({
                                                      url:"getftp.action",
                                                      data:{TaskName:task,ipdata:divip},
                                                      type:"POST",
                                                      dataType:"text",
                                                      success:function(data){
                                                                  jindutiao.style.width = data + "%";
                                                                  jindutiao.innerHTML = jindutiao.style.width;
                                                                  $(".b"+divid+"").empty();
                                                                  $(".b"+divid+"").append(jindutiao.style.width);
                                                        }
                                                  })
                                                  }


                                            }

获取var dividlen= $(".Divchartsblue").size();的时候是3个,console.log(divid)也能输出三个。
但是在执行下面的时候,在ajax里面只获取到最后一个divid。前面的没反应了
用的是setinerval 方法,每隔2秒执行一次

type:“get” 就好了 让他只能一次一次的执行

使用jQuery ,如果你使用了循环 ,那你一定是哪里错过了什么 ,由于jQuery对象本来就是可以批量处理的

          $(".Divchartsblue").each(function(){                                                                    
          var divid = $(this).attr("id");                                                                               
          var divip = $(this).attr("ip");
          var task = $(this).attr("value");
          var href = $(this).attr("href");;
          var jindutiao = document.getElementById(divid);  
            if(jindutiao.style.width != "100%")
          {
          $.ajax({
              url:"getftp.action",
              async:false,
              data:{TaskName:task,ipdata:divip},
              type:"POST",
              dataType:"text",
              success:function(data){
                          jindutiao.style.width = data + "%";
                          jindutiao.innerHTML = jindutiao.style.width;
                          $(".b"+divid+"").empty();
                          $(".b"+divid+"").append(jindutiao.style.width);
                }
          })
          }

打开F12 network, 你应该就只发送了最后一个请求 ,解决方法改成同步的.

                                                                                        $(".Divchartsblue").each(function(){
                                                                                                var divid = $(this).attr("id");
                                                  var divip = $(this).attr("ip");
                                                  var task = $(this).attr("value");
                                                  var href = $(this).attr("href");;
                                                  var jindutiao = document.getElementById(divid);  
                                                                                                      if(jindutiao.style.width != "100%")
                                                  {
                                                  $.ajax({
                                                      url:"getftp.action",
                                                                                                            async:false,
                                                      data:{TaskName:task,ipdata:divip},
                                                      type:"POST",
                                                      dataType:"text",
                                                      success:function(data){
                                                                  jindutiao.style.width = data + "%";
                                                                  jindutiao.innerHTML = jindutiao.style.width;
                                                                  $(".b"+divid+"").empty();
                                                                  $(".b"+divid+"").append(jindutiao.style.width);
                                                        }
                                                  })
                                                  }
                                                                                        })