我正在使用jQuery中的replaceWith()
函數來更新我的網頁。我從C#Web服務程序接收數據,該程序從數據庫提取數據以構建我的HTML代碼。它工作正常,除非我更換大量的數據。在不起作用的示例中,我用39000字節的數據替換了我的網頁中的代碼。之後,當點擊跨度調用JavaScript函數時,我的鏈接都不起作用。 replaceWith()
函數中使用的數據大小是否有限制? HTML代碼我更換看起來像這樣:jQuery中使用replaceWIth的數據大小是否有限制?
<td align=left valign=top>
<div id="showitems" class="showitems" style="display:inline; float:left"></div>
</td>
的JavaScript代碼如下所示:
function ShowDinerItems() {
var gps = document.getElementById("selectdiner").value;
var pos = gps.indexOf(";");
var len = gps.length;
var latitude = document.getElementById("Hiddenlat").value;
var longitude = document.getElementById("Hiddenlng").value;
var dinerkey = gps.substring(0, pos);
PageMethods.CallShowDinerItems(dinerkey, latitude,longitude, OnShowDinerComplete, OnShowDinerError, dinerkey);
}
function OnShowDinerComplete(result) {
var htmlcode = result[0];
if (result == 'none') {
document.getElementById("Message").value = "Search returned no items";
}
else {
var htmlcode = result[0];
htmlcode = "<div id=\"showitems\" class=\"showitems\" style=\"display:inline\">" + htmlcode + "</div>";
$('.showitems').replaceWith(htmlcode); // size of htmlcode is 39849 bytes
var locations = result[1].split(";");
var lat = locations[0];
var lng = locations[1];
markDiner(lat, lng, "", 'map_canvas');
}
}
我使用jQuery建立我的網頁的原因是爲了避免重新加載頁面。我可以很容易地在我的C#程序中編寫web數據內容,這可能會更有效,但是頁面重新加載應避免按照擁有該網站的人員的指示。我會嘗試給出的建議。
注意:我使用下面的代碼使其工作。
$('.showitems').html(result[0]);
使用.text將不起作用,因爲它顯示原始數據而不是html數據。感謝那些貢獻。
讓我們看看一些壞HTML。 – 2012-04-12 23:45:48
你如何約束你的事件?你在使用委託處理程序嗎?這些委託處理程序是否被替換? – 2012-04-13 00:04:44
我不擔心這個限制。我寧願擔心你正在使用的程序。 – Joseph 2012-04-13 00:09:38