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!
});

これが私のHTMLで、ulはコードで作成されます:

<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 に答える