MSIE中的jQuery .append()

时间:2010-10-30 18:22:42

标签: jquery json internet-explorer append

    function loadSavedSort(start) {
    start = parseInt(start);
    if ( isNaN(start) )
        start = 0;
    var listing = $("#viewsavedsort .listing");
    listing.find('.item').remove();
    var start = $('#savedSortStart').val();
    $.getJSON('saveajax.php', { 'start': start },
        function(data) {
            $("#viewsavedsort .loading").hide();
            $("#viewsavedsort .view").show();

            // Hides/shows Older button according to returned flag NEXT
            if ( data['NEXT'] ) {
                $('#viewSavedSortOlder').show();
            } else {
                $('#viewSavedSortOlder').hide();
            }

            // Hides Newer button if first page
            if ( start == 0 ) {
                $('#viewSavedSortNewer').hide();
            } else {
                $('#viewSavedSortNewer').show();
            }

            for ( key in data['DATA'] ) {
                var html = "<div class='item'>"+
                    "<div class='img ui-corner-all'>"+
                        "<a href='"+data['DATA'][key]['link']+"'><img src='JPEG_75/"+data['DATA'][key]['image']+"' /></a>"+
                    "</div>"+
                    "<div class='text'>"+
                        "<table><tr><td>"+
                        "Date Saved: "+data['DATA'][key]['date']+"<br />"+
                        "User's name: "+data['DATA'][key]['name']+"<br />"+
                        "Keywords used: "+data['DATA'][key]['keywords']+"<br />"+
                        "Total number of objects: "+data['DATA'][key]['total']+
                        "</td></tr></table>"
                    "</div></div>";
                //html += "</div>";
                listing.append(html);
            }
        }
    );
}

这在Firefox,Safari,Opera,Google Chrome中完美有效......但不适用于MSIE。为什么? 显示图像,但文本丢失。

编辑:对不起,这是我第一次在这里发帖。更新的代码。在saveajax.php中,我使用了json_encode():

    $ret['DATA'][$row['id']] = array(
    'name' => stripslashes($row['name']),
    'date' => date('n/d/Y',strtotime($row['date'])),
    'keywords' => implode(" + ",$keywords),
    'total' => $total,
    'image' => $image,
    'link' => $link,
);

另外,我没有任何错误。它根本不会在IE中显示。 是什么让我头疼的是实际显示的图像并链接到正确的URL。

1 个答案:

答案 0 :(得分:0)

您自己应该只使用一个客户端模板库,而不是自己完成所有这些字符串连接。

Here是一篇很好的文章,解释了客户端模板是什么。

我一直在使用jQote2,但可能会切换到jQuery Templating by Microsoft