0

初始化或刷新我的 ul 时遇到问题 - 我在代码示例中使用的方法适用于我正在使用但不在这里的另一个函数......我一定遗漏了什么?

$(data).find("#HospitalDescriptions").find('th').filter(function(){
  if (this.innerHTML !== '') {
    var bgcolor = $( this ).css( "background-color" );
    var txtcolor = $( this ).css( "color" );
        if (bgcolor !== ''){
            $('#information').append('<div id="alertColors"><ul><li><span style="background-color:' + bgcolor + ';color:' + txtcolor + ';">' + this.innerHTML + '</span></li></ul></div>');
        } else {
            $('#information').append('<li>' + this.innerHTML + '</li>');
        }
  }
    $('#information').listview('refresh');   // not working!
});

这是我在代码中创建 ul 的 HTML:

<div data-role="page" data-theme="b" id="hospitals" data-add-back-btn="true">
    <div data-role="header">
        <h1>HOSP-HEADER</h1>
        <a class="ui-btn-right" id="infoButton" onclick="$('#locations').listview('refresh');">Refresh</a>
    </div><!-- /header -->

    <div data-role="content" data-theme="b" id="regions">   

        <div data-role="content">
            <h4>Information</h4>
            <ul data-role="listview" data-inset="true" id="information">
                <!-- AJAX CONTENT -->
            </ul>
        </div>

        <div data-role="collapsible">
            <h4>Regions I, II, III</h4>
            <ul data-role="listview" data-inset="true" id="region3">
                <!-- AJAX CONTENT -->
            </ul>
        </div>

        <div data-role="collapsible">
            <h4>Region IV</h4>
            <ul data-role="listview" data-inset="true" id="region4">
                <!-- AJAX CONTENT -->
            </ul>
        </div>

        <div data-role="collapsible">
            <h4>Region V</h4>
            <ul data-role="listview" data-inset="true" id="region5">
                <!-- AJAX CONTENT -->
            </ul>
        </div>

    </div>
4

1 回答 1

0

#ID 丢失。#information 是一个 ul,而不是最初创建的 div。删除了 ul 内的嵌套 div:

$(data).find("#HospitalDescriptions").find('th').filter(function(){
    if (this.innerHTML !== '') {
    var bgcolor = $( this ).css( "background-color" );
    var txtcolor = $( this ).css( "color" );
        if (bgcolor !== ''){
            $('#information').append('<li><span style="background-color:' + bgcolor + ';color:' + txtcolor + ';">' + this.innerHTML + '</span></li>');
        } else {
            $('#information').append('<li>' + this.innerHTML + '</li>');
        }
    }
    $('#information').listview('refresh');
}); 
于 2013-10-01T17:48:56.903 回答