我有一个 AJAX 函数可以重新加载当前页面。现在我不想重新加载整个页面,是否可以在http.responseText中获取例如div#footer的innerHTML? 我真正想做的是:
document.getElementById("footer").innerHTML = http.responseText.getElementById("footer");
但是当然这是不可能的,而且我不想重写整个页面,例如,如果存在 GET 变量,它只打印页脚。 有任何想法吗?谢谢!
最佳答案
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> e.g.: </div><div id="end"></div>
之后创建一个新的 div
而不是
s1=s1.substring(0,s1.indexOf('</div>'));
做:
s1=s1.substring(0,s1.indexOf('</div><div id="end">'));
关于javascript - AJAX 重新加载页面的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12228385/