0

例如我有这个 XML:

<data>
    <area>
        <state>SABAH</state>
        <parlim>P1</parlim>
        <name>Alice Smith</name>
    </area>
    <area>
        <state>SABAH</state>
        <parlim>P2</parlim>
        <name>John Smith</name>
    </area>
    <area>
        <state>SABAH</state>
        <parlim>P3</parlim>
        <name>Peter Smith</name>
    </area>
    <area>
        <state>SARAWAK</state>
        <parlim>P4</parlim>
        <name>Paul Smith</name>
    </area>
</data>

我正在使用 jquery 将其解析为 html 表:

 $.ajax({
  type: "GET",
  url: "parse.xml", 
  dataType: "xml",
  success: function(xml) {
   $(xml).find('area').each(function(){
    var Col0 = $(this).find('state').text();
    var Col1 = $(this).find('parlim').text();
    var Col2 = $(this).find('name').text();
    $('<tr></tr>').html('<td>'+Col0+'</td><td>'+Col1+'</td><td>'+Col2+'</td>').appendTo('#chart');
   });
  }
 });
});

我如何使它只显示状态为 SABAH 的结果(这是前 3 个结果)?提前致谢

4

1 回答 1

0

改变

$(xml).find('area').each(function(){
    var Col0 = $(this).find('state').text();
    var Col1 = $(this).find('parlim').text();
    var Col2 = $(this).find('name').text();
    $('<tr></tr>').html('<td>'+Col0+'</td><td>'+Col1+'</td><td>'+Col2+'</td>').appendTo('#chart');
});

$(xml).find('area').each(function(){
    var Col0 = $(this).find('state').text();
    // check if Col0 = SABAH
    if (Col0 === 'SABAH') { 
       var Col1 = $(this).find('parlim').text();
       var Col2 = $(this).find('name').text();
       $('<tr></tr>').html('<td>'+Col0+'</td><td>'+Col1+'</td><td>'+Col2+'</td>').appendTo('#chart');
    }
});

这使用一个if语句来检查state标签中的文本来决定是否继续

于 2013-03-20T09:00:11.183 回答