根据xml数据添加类

时间:2015-03-13 08:10:43

标签: jquery html xml addclass

这是我的HTML

<table class="table table-condensed table-hover">
<thead>
    <tr>
        <th></th>
        <th colspan="4" align="center">Course 1</th>
        <th colspan="4" align="center">Course 2</th>
        <th colspan="2" align="center">Course 3</th>
    </tr>
</thead>
<thead>
    <tr>
        <th>Region</th>
        <th>User</th>
        <th>Time</th>
        <th>Test</th>
        <th>KO</th>
    </tr>
</thead>
<tbody id="data1">
</tbody>
</table>

这是我的Jquery,用于将数据从xml解析为HTML

$(document).ready(function() {
$.ajax({
    type: "GET",
    url: "data.xml", 
    dataType: "xml",
    success: function(xml) {
    alert('Connected to XML');      
        $(xml).find('test').each(function(){
            var Col1 = $(this).find('Region').text();
            var Col2 = $(this).find('User').text();
            var Col3 = $(this).find('Time').text();
            var Col4 = $(this).find('Test').text();
            var Col5 = $(this).find('KO').text();
            $('<tr></tr>').html('<td>'+Col1+'</td><td>'+Col2+'</td><td>'+Col3+'</td><td>'+Col4+'</td><td>'+Col5+'</td>').appendto('#data1');

我希望能够根据xml(Region)中的数据为一行分配一个类。

如果region = asia添加类“蓝色” 如果region = europe添加类“粉红色”

这是我可以添加到我上面的Jquery的东西吗?请指教

这可能吗?提前感谢任何建议或方法。

2 个答案:

答案 0 :(得分:1)

更新后,以下代码是一种方法:

if (Col1 === 'asia')  $('<tr class="blue"></tr>').html('<td>'+Col1+'</td><td>'+Col2+'</td><td>'+Col3+'</td><td>'+Col4+'</td><td>'+Col5+'</td>').appendTo('#data1');

else if (Col1 === 'europe')  $('<tr class="pink"></tr>').html('<td>'+Col1+'</td><td>'+Col2+'</td><td>'+Col3+'</td><td>'+Col4+'</td><td>'+Col5+'</td>').appendTo('#data1');

Fiddle(注意它尚未使用XML数据进行测试)。您还需要将appendto函数调用更改为.appendTo()(使用大写'T')。

答案 1 :(得分:1)

您可以根据所获得的文字制作switch

正如我们从您的代码中了解到的,您可以在此处引用该地区:var Col1 = $(this).find('Region').text();

所以,尝试这样的事情:

var className = "";

switch(Col1){
    case: "asia" :
        className = "asia-class";
        break;
    case: "europe" :
        className = "europe-class";
        break;
}

稍后您可以像这样使用className变量:

$('<tr></tr>').addClass(className).html('<td>'+Col1+'</td><td>'+Col2+'</td><td>'+Col3+'</td><td>'+Col4+'</td><td>'+Col5+'</td>').appendto('#data1');