2012-09-01 46 views
2

我有一個AJAX函數來重新加載當前頁面。現在我不想重新加載整個頁面,是否有可能在http.responseText中獲得div#footer的innerHTML? 我真正想要做的是:重新加載頁面的一部分AJAX

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

但是,當然,這是不可能這樣的,我不希望重寫整個頁面,例如只打印出頁腳如果GET變量存在.. 任何想法?謝謝!

回答

3

XMLHttp請求並解析它爲一個字符串?

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">')); 
+0

我已經想過了,但我沒有找到一個工作正則表達式。 – Dion

+0

完美,作品!謝謝。 – Dion