JQuery each()填充li或span

时间:2013-10-04 13:41:21

标签: jquery jquery-mobile jquery-mobile-listview

我似乎无法做到这一点。我的.each()返回所有5个元素,但我的时间关闭了。也似乎无法获得语法来获取.each()的每个元素:

$(data).find("tr td.Chats").filter(':gt(6)').each(function(){
$('#region3').append('<li></li>');          
    $(this).find('td').each(function(k,v){      
        $('#region3 li').append(
        + '<span class="countyHx">' + (this)(1).innerHTML + '</span>'
        + '<span style="width: 20%; background-color: yellow;">' + (this)(1).innerHTML + '</span>'
        + '<span style="width: 20%; background-color: red;">' + (this)(2).innerHTML + '</span>'
        + '<span style="width: 20%; background-color: green;">' + (this)(3).innerHTML + '</span>'
        + '<span style="width: 20%; background-color: orange;">' + (this)(4).innerHTML + '</span>'
        + '<span style="width: 20%; background-color: purple;">' + (this)(5).innerHTML + '</span>');
    }); 
});
$('#region3').listview('refresh');

}, 'html');

以下是JSFiddle

中的表格数据

更新:

我差不多了,我的listview刷新并不令人耳目一新!

$(data).find("tr:has(td.Chats)").each(function () {
                var $li = $('#region3').append('<li></li>');
                var $tds = $(this).find('td');
                $li.append('<span class="countyHx">' + $tds.eq(0).html() + '</span><br>' 
                + '<span style="width: 20%; background-color: yellow;">' 
                + $tds.eq(1).html() + '</span>' 
                + '<span style="width: 20%; background-color: red;">' 
                + $tds.eq(2).html() + '</span>' 
                + '<span style="width: 20%; background-color: green;">' 
                + $tds.eq(3).html() + '</span>' 
                + '<span style="width: 20%; background-color: orange;">' 
                + $tds.eq(4).html() + '</span>' 
                + '<span style="width: 20%; background-color: purple;">' 
                + $tds.eq(5).html() + '</span>');
            });

        $('#region3').listview('refresh');

enter image description here

1 个答案:

答案 0 :(得分:2)

你是否喜欢这样的事情:

JSFiddle:http://jsfiddle.net/MvHTR/5/

$('#tblHospitals').find("tr:has(td.Chats)").each(function () {
    var $li = $('#region3').append('<li></li>');
    var $tds = $(this).find('td');
    $li.append('<span class="countyHx">' + $tds.eq(0).html() + '</span>' + '<span style="width: 20%; background-color: yellow;">' + $tds.eq(1).html() + '</span>' + '<span style="width: 20%; background-color: red;">' + $tds.eq(2).html() + '</span>' + '<span style="width: 20%; background-color: green;">' + $tds.eq(3).html() + '</span>' + '<span style="width: 20%; background-color: orange;">' + $tds.eq(4).html() + '</span>' + '<span style="width: 20%; background-color: purple;">' + $tds.eq(4).html() + '</span>');
});

看起来你想找到所有包含class = Chats的tds的行,但是然后处理每一行并手动从每个TD中提取数据。您正在处理子TD(这使得它比使用每行更难)。

您还使用选择器$('#region3 li')将结果附加到每个前面的li,您只需要添加的特定LI。

我使用JQuery语法来获取html,但如果您愿意,可以使用原始DOM元素。

如果没有,请澄清问题。