我在<head>中调用的外部JavaScript文件中包含以下代码:

function dailyDealWidget() {
    $.getJSON('http://myurlhere.com?_render=json', function(data) {

        $('#dd-thumb').append('<img src="'+data.value.items[0].deals.deal.splashpagemainimage+'" />');
        $('#dd-description').append(data.value.items[0].deals.deal.offer+' from '+data.value.items[0].deals.deal.merchantname);
        $('#dd-value').append('$'+data.value.items[0].deals.deal.productvalue);
        $('#dd-discount').append(data.value.items[0].deals.deal.totaldealcount+'%');
        $('#dd-price').append('$'+data.value.items[0].deals.deal.saleprice);
        $('#dd-sold').append(data.value.items[0].deals.deal.inventorytaken+' Sold');
    }); //End json
}


<body>中,我有这个:

 <script type="text/javascript">dailyDealWidget()</script>
 <div id="dd-widget"></div>`
    <div id="dd-widget">
        <div id="dd-container">
            <div id="dd-thumb"></div>
            <div id="dd-infobox">
                <div id="dd-description"></div>
                <table width="165px" cellpadding="0" cellspacing="0">
                    <tr>
                        <th>Value</th>
                        <th>Discount</th>
                        <th>Save</th>
                    </tr>
                    <tr>
                        <td id="dd-value"></td>
                        <td id="dd-discount"></td>
                        <td id="dd-price"></td>
                    </tr>
                    <tr>
                        <td colspan="3" id="dd-sold"></td>
                    </tr>
                </table>
            </div>
            <div style="clear:both;"></div>
        </div><!--End container-->
    </div><!--End dd-widget-->


看来.append()没有将内容添加到IE中的所需位置。我也尝试使用.html()而不是.append(),但是没有任何运气。

控制台中没有错误……在Firebug和IE开发人员工具中都没有。

任何帮助,将不胜感激。

最佳答案

.append().html()必须在IE 7和8中工作,所以这不是问题。您是否进行过测试以确保确实调用了getJSON的回调函数?在尝试自己执行附加操作之前,您是否检查过传递给.append()的实际字符串?

尝试在$.getJSON回调函数的开头将某些内容记录到控制台,以确保该命令实际上正在运行,然后尝试记录传递给.append()函数的字符串。

09-10 11:29
查看更多