我试图在jquery mobile中包括一个可折叠的小部件。内容是动态的,因此我使用标记来执行此操作,但是仅出于说明目的,我包括了默认文本。以下代码仅不带窗口小部件,而仅显示文本,不显示窗口小部件的样式。这是我的javascript

  description_markup += '<h4>Description heading</h4><p>'+description+'</p>';

   $('#Desc').empty().append(description_markup);


的HTML

 <div data-role="content" class= "ui-content" data-theme="d">
       <p id="message"/>
       <div id ="videoDisplay"></div>
       <div id ="vidLikeDislikebutton"></div>
        <div id ="Desc" data-role="collapsible"
             data-theme="b" data-content-theme="b"
             class="ui-collapsible ui-collapsible-inset
                    ui-collapsible-themed-content">
       </div>
</div><!-- /content -->


当我将Desc div放在内容div之外时,文本显示为黑色背景。

请帮忙

最佳答案

jQuery Mobile团队仍在致力于创建可折叠的方法,例如refresh。不幸的是,可折叠现在不接受任何方法。因此,用新的替代现有的可折叠设备是唯一的方法。


  Demo


var description_markup = '<div data-role="collapsible" id="Desc" data-theme="e" data-content-theme="b"><h3>Description heading</h3><p>collapsible</p></div>';
$('#Desc').replaceWith(description_markup);
$('#Desc').collapsible();


如果可折叠功能得到增强,并且您不想替换它,则仍然可以进行修改。

$('#Desc .ui-btn-text').text('new header');
$('#Desc .ui-collapsible-content').append('<p>new content</p>');


在可折叠的内部插入小部件需要.trigger('create')来增强小部件标记

$('#Desc .ui-collapsible-content').append('<ul data-role="listview"><li><a>link</a></li><li><a>link</a></li></ul>').trigger('create');

关于javascript - jQuery移动可折叠小部件样式不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17665751/

10-11 23:23