jquery/ajaxを使用してxmlドキュメントをHTMLテーブルに変換したいと思います。tr
さらに、条件が満たされた場合にクラスを追加したいと思います。これは私がこれまでに行ったことですが、意図したとおりに機能しません。1)HTMLテーブルの出力に必要以上tr
のtd
ものがあり、2)tr()の条件付きクラスが機能し.no-kids
ていません。どんな助けでも適用されるでしょう!
JQUERY / AJAXコード:
$(document).ready(function(){
$.ajax({
type: "GET",
url: "database.xml",
dataType: "xml",
success: function(xmlData) {
$("person", xmlData).each(function(){
var name = $(this).find("name").text(),
kids = $(this).find("kids").text(),
cars = $(this).find("cars").text();
if(kids<1){
$("tbody").append('<tr class="no-kids">');
}else{
$("tbody").append('<tr>');
}
$("tbody tr").append('<td class="name">'+name+'</td>');
$("tbody tr").append('<td class="kids">'+kids+'</td>');
$("tbody tr").append('<td class="cars">'+cars+'</td>');
$("tbody").append('</tr>');
});
}
});
$(".no-kids").css("color","red");
});
HTMLコード:
<table>
<thead>
<tr>
<th>NAME</th>
<th>KIDS</th>
<th>CARS</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
DATABASE.XMLコード:
<root>
<person>
<name>Matt</name>
<kids>3</kids>
<cars>1</cars>
</person>
<person>
<name>Jason</name>
<kids>0</kids>
<cars>2</cars>
</person>
<person>
<name>Molly</name>
<kids>1</kids>
<cars>0</cars>
</person>
</root>