2

現在のページをリロードする AJAX 関数があります。ページ全体をリロードしたくありません。たとえば、http.responseText の div#footer の innerHTML を取得することは可能ですか? 私が実際にやりたいことは次のとおりです。

document.getElementById("footer").innerHTML = http.responseText.getElementById("footer");

もちろん、そのようなことは不可能です。たとえば、GET 変数が存在する場合にのみフッターを出力するなど、ページ全体を書き直したくありません。何かアイデアはありますか? ありがとう!

4

2 に答える 2

3

XMLHttpRequest それを文字列として解析しますか?

h=http.responseText;
s1=h.substring(h.indexOf('<div id="footer"'));
s1=s1.substring(s1.indexOf('>')+1);
s1=s1.substring(0,s1.indexOf('</div>'));
document.getElementById("footer").innerHTML=s1

そこの

ただし、フッターにさらに div がある場合、これは次の div の終わりまでそれを取得します - フッターの後に新しい div を作成します</div> e.g.: </div><div id="end"></div>

そして代わりに

s1=s1.substring(0,s1.indexOf('</div>'));

行う:

s1=s1.substring(0,s1.indexOf('</div><div id="end">'));
于 2012-09-01T14:02:55.217 に答える
1

を使用する必要がありますdocument.createDocumentFragment

于 2012-09-01T14:11:42.983 に答える