jQueryでreplaceWith()
関数を使用してWebページを更新しています。私はHTMLコードを構築するためにデータベースからデータを抽出するC#Webサービスプログラムからデータを受け取ります。大量のデータを置き換える場合を除いて正常に動作します。この例では動作しませんが、Webページのコードを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');
}
}
私は私のWebページを構築するためにjqueryのを使用していた理由は、ページのリロードを避けるためです。私は簡単に私のC#のプログラムでより効率的かもしれないが、ページのリロードは、ウェブサイトを所有する人々の指示に従って回避する必要がありますwebdataコンテンツをプログラムすることができます。私は与えられた推奨事項を試してみます。
注:次のコードを使用して動作させました。
$('.showitems').html(result[0]);
.textを使用すると、生データが表示され、HTMLデータは表示されないため、機能しません。貢献した人に感謝します。
その壊れたhtmlを見てみましょう。 –
あなたのイベントはどのように縛っていますか?委任されたハンドラを使用していますか?要素の代理ハンドラが置き換えられていますか? –
私は限界について心配しません。私はむしろあなたが使用している手順について心配したいと思います。 – Joseph