例如我有这个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个结果)?提前致谢
答案 0 :(得分: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
标记中的文字以决定是否继续