我对IE(大惊喜)和清除DIV内容有点问题。我有一个“搜索结果”DIV,显示通过GET方法(AJAX)收集的一些项目。该方法本身工作正常,数据返回到AJAX调用,但有问题的DIV在调用document.getElementById('stupid-div').innerHTML = '';
时拒绝自行清空,在DIV中显示与AJAX调用之前相同的数据。在另一个浏览器中执行相同的功能按预期工作,一旦采取行动,DIV就会清除结果。知道如何让这个工作吗?我也试过$('#stupid-div').empty()
无济于事。
以下是代码片段。
<div class="Search-Area" id="Request-List"></div>
document.getElementById('Edit-Area').style.height = '0';
$.ajax({
url: '/SomeController/GetSomeData',
dataType: 'json',
type: 'GET',
timeout: 30000,
data: {},
success: function(data) {
if (!data.Success) {
alert(data.ExitMessage);
return;
}
$('#Request-List').empty(); // Does not work in IE
document.getElementById('Request-List').innerHTML = ''; // Does not work in IE either
alert('refreshed'); // Displays each time, so it's hitting the clear div methods
for (var i = 0; i < data.Data.length; i++) {
document.getElementById('Request-List').innerHTML += '<div onclick="LoadRequest(this.id)" class="Search-Result" id="R' + data.Data[i].RequestID + '"/><label> Request for ' + data.Data[i].Name + ' by ' + data.Data[i].User + '</label></div>';
}
}
});
答案 0 :(得分:0)
您是否尝试过$(&#39;#Request-List&#39;)。html(&#39;&#39;)
答案 1 :(得分:0)
我发现了这个问题,它是用IE和AJAX进行的。 IE缓存&#34; GET&#34;请求所以它不会打到相同的&#34; LoadRequests&#34;第一次运行后的方法,因为它认为它已经有了数据。将其切换到&#34; POST&#34;修复此问题并按预期清除DIV。
如果POST方法不起作用,请参阅此有用的帖子以进一步解决问题:)。