0

我正在尝试将“if”条件应用于 AJAX xml 解析,但我不能。这是我的代码

<script>

$(document).ready(function()
     {
          $.ajax({
          type: "GET",
          url: "http://domain.com/file.xml",
          dataType: "xml",
          success: function(xml) {

                 $(xml).find("something").each(function(){
                         if (data[i]["somefield"] == 1) {
                                $("#output").append("HOLAAAA");
                         } else {
                                $("#output").append("MOLOOOOOOOOOO");
                         }

                  });
          },
          error: function() {
                 alert("Can't retrieve data");
          }

          });

     });
</script>

但它不运行。有谁能够帮助我?

非常感谢你

4

1 回答 1

0

我想您data[i]是尝试访问"something"循环内的当前节点。

在您的回调中,您应该通过以下方式访问当前节点this

  // if "somefield" is an attribute :
  if ($(this).attr("somefield") == 1) {
       $("#output").append("HOLAAAA");
  } else {
       $("#output").append("MOLOOOOOOOOOO");
  }

  // if "somefield" is a child node :
  if ($(this).children("somefield").text() == 1) {
       $("#output").append("HOLAAAA");
  } else {
       $("#output").append("MOLOOOOOOOOOO");
  }
于 2013-10-17T09:49:09.347 回答