0

我使用$.getJSON从服务器端获取数据以填充我的 jquery 移动应用程序中的数据。我遇到的问题是我获取的 json 结果包含 HTML 标签。当我将此数据附加到应用程序中的 div 时,HTML 标记将按原样保留现在看起来像这样

var menDet;
menDet="<ul><li>Offer
<ul>"+data+"</ul></li><ul>";

//data contains a <p> tag from the server side fetched data

$("#menu").html($(menDet));
$("#menu").listview("refresh");

在 Inspect element 窗口中,我刚刚注意到数据值被包裹在引号中,这阻止了 HTML 被应用于引号内的 HTML 标记!

关于如何添加它们而不用引号括起来的任何想法?

4

2 回答 2

0

您可以将字符串包装起来$()并获取一个构造所有 HTML 元素的 jQuery 对象。

例子

你可以在这里用 jsFiddle 测试它。

HTML

<html>
    <div id="foo">
    </div>
</html>​

Javascript

var s = '<span><b>Hello</b> World</span>';
$('#foo').append($(s));

结果

<html>
    <div id="foo">
        <span>
            <b>Hello</b> World
        </span>
    </div>
</html>
于 2012-03-06T02:40:58.767 回答
0

如果您以附加所需的正确格式从服务器完美获取数据,那么您可以使用

$("#yourlistview").listview('refresh'); or 

$("#yourlistview").listview('refresh', true);

检查以下链接

AJAX 内容 listview('refresh') 的 JQM (jQueryMobile) 问题不起作用

于 2012-03-06T03:45:15.927 回答