【问题标题】:jQuery mobile: Dynamically updating collapsible heading causes loss of stylingjQuery mobile:动态更新可折叠标题会导致样式丢失
【发布时间】:2013-05-16 14:20:49
【问题描述】:

在为现有可折叠元素动态更新标题标签文本后,样式消失,即使我在更新后调用 .collapsible({refresh: true})。

jsFiddle:http://jsfiddle.net/RAxn5/(点击“Break it”链接了解我的意思)。

HTML:

<div id="set" data-role="collapsible-set">
    <div data-role="collapsible" id="set1" data-collapsed="false">
        <h2 class="section_title">Section 1</h2>
        <ul data-role="listview">
            <li><a href="#"><h3>item 1</h3></a></li>
            <li><a href="#"><h3>item 2</h3></a></li>
            <li><a href="#"><h3>item 3</h3></a></li>
        </ul>
    </div>
</div>

<a href="#" id="break">Break it</a>

JS:

$('#break').click(function() {
    $('#set1 h2.section_title').text('Now my style is gone!');
    $('#set1').collapsible({refresh: true});
});

提前致谢。

【问题讨论】:

  • 这应该对你有帮助:stackoverflow.com/questions/7857218/… 这个问题是由 jQuery mobile 添加的附加元素引起的。
  • 感谢您的快速响应伙伴,您带领我走上了正确的道路,但最终我使用的是 Omars 的答案。我真的希望我可以选择两个答案。

标签: jquery-mobile


【解决方案1】:

将其添加到span.ui-btn-text 而不是h2。

Demo

$('#set1 span.ui-btn-text').text('Now my style is gone!');

【讨论】:

    【解决方案2】:

    一个简单的解决方案(虽然有点笨拙)是找到按钮设置的跨​​度并更改它,而不是父 ID。

    $('#set1 h2.section_title').find('.ui-btn-text').text('Now my style is gone!');
    

    这是JSFiddle。

    【讨论】:

    • 是的,这对我来说是主要的事情——感觉很hackish,我原以为会有一些刷新事件/jquery 移动功能可以调用——我什么都没找到。
    • 目前他们似乎没有任何好的选择。他们应该在刷新中包含部分标题是有道理的。
    猜你喜欢
    • 1970-01-01
    • 2012-12-01
    • 1970-01-01
    • 2011-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多