$(xmlDocument).find("areas_get_response").each(function (i, n) {
                var vja = $("area", n);//获取根节点所有子节点
                $(vja).each(
                  function (j, b) {                      
                      var id = $(b).children("id").text();
                      var name = $(b).children("name").text();
                      var parent_id = $(b).children("parent_id").text();
                      var type = $(b).children("type").text();
                      //这里判断 parent_id 和传进来的参数 一样就往select添加一条数据 问题就出在这里;
                      //我这里没错 选择后都要重新遍历xml整个文档加载非常慢 有3千多条数据;的城市级联
                      if (parent_id == obj.value) {
                          if (index == 1) {
                              $("#selCity").append("<option value=\"" + id + "\">" + name + "</option>");
                          } else if (index == 2) {                              
                              $("#selArea").append("<option value=\"" + id + "\">" + name + "</option>");
                          }
                      }                  }                );
            });

解决方案 »

  1.   

    两层遍历,看下局部html和xml代码?
      

  2.   

    给个建议呀:
    循环完再 Append  .用个变量存储
    -----------
    var list="";
    var list1="";
    //我这里没错 选择后都要重新遍历xml整个文档加载非常慢 有3千多条数据;的城市级联
      if (parent_id == obj.value) {
      if (index == 1) {
      list+="<option value=\"" + id + "\">" + name + "</option>";
      } else if (index == 2) {   
      list1+="<option value=\"" + id + "\">" + name + "</option>";
      }最后再append
    $("#selCity").append(list);
    $("#selArea").append(list1);