javascript - 内容更新时 JQuery Mobile 会丢失格式

标签 javascript jquery jquery-mobile

首先,我调用 getJSON 来获取适当的数据。然后,我使用以下代码来更新已经存在的 <a href=""></a>元素。

$.getJSON("http://URL.com?unitnumber="+query+"", function(data) {
    var encounter = $('#encounter');
    $.each(data, function(i) {
        if(i==0){
            $('#date1').text(""+data[i].DateDisp+"").trigger('create');
        }
     });
});

初始<a>元素格式正确:

enter image description here

但是,一旦我更新该链接元素(其 ID 为 #date1)内的文本,我就会丢失格式。尽管尝试使用 .trigger('create')...

enter image description here

最佳答案

您可以使用 jQuery Mobile 添加到按钮的结构(<a> 标记),并且仅替换按钮文本。下面是 jQuery Mobile 设置样式后的按钮示例:

<a data-role="button" data-theme="c" class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-c">
    <span aria-hidden="true" class="ui-btn-inner ui-btn-corner-all">
        <span class="ui-btn-text">Updated Text (6)</span>
    </span>
</a>

注意:以上按钮的 HTML 结构适用于 jQuery Mobile 1.0RC2。

注意 <span>ui-btn-text类(class)。你想做的就是瞄准这个<span>并更改其文本,如果您尝试更改整个 <a> 的文本标签你将失去内在<span>设置按钮样式的标签。

所以你的选择器应该如下所示:

$('#date1').find('.ui-btn-text').text(...);

而且您不必使用.trigger('create')因为样式不会丢失。

这是上述解决方案的jsfiddle:http://jsfiddle.net/jasper/4DAfn/3/

此外,如果您要迭代返回的 JSON 数据并且仅使用第一行信息,请考虑替换以下内容:

$.each(data, function(i) {
    if(i==0){
        $('#date1').text(""+data[i].DateDisp+"").trigger('create');
    }
});

与:

$('#date1').text(""+data[0].DateDisp+"").trigger('create');

或者你可以只是 return false;在 if 语句中(这将打破 $.each() 循环):

$.each(data, function(i) {
    if(i==0){
        $('#date1').text(""+data[i].DateDisp+"").trigger('create');
        return false;
    }
});

关于javascript - 内容更新时 JQuery Mobile 会丢失格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7904177/

相关文章:

jquery - 每个/单击功能不起作用

javascript - JQuery Mobile 选项卡未对齐

jquery-mobile - 如何在jquery mobile中初始化页面? pageinit 未触发

jQuery mobile 和 JSON 发布响应

javascript - Drupal 帮助 - 警告 : Unresponsive Script - Everytime Goes into or out of Block Edit Mode

javascript - 为 Google Assistant 执行命令 - Node js

javascript - 组合 getElementsByTagName 和 getElementsByClassName

javascript - Instagram API。 XMLHttpRequest 无法加载 URL。预检响应具有无效的 HTTP 状态代码 405

javascript - 在 getJSON 中编写 ajax 调用的失败案例

javascript - PaperJS onDoubleClick 不适用于群组?