使用ajax获取一个页面时,很多时候只是想要其中某个节点的数据,但是整个页面节点那么多,用正则表达式又不好匹配,相信很多人都希望能用getElementById来获取,这样多方便啊。
可是,要用getElementById就必须先将ajax的response字符串转换成DOM才行,这是最困扰的地方。之前试了很多方法都没能成功,经不懈努力,嘿嘿,看下文吧。
function swrite()
{
data = "
New Document";abc.document.write(data);
abc.document.close();
alert(abc.document.getElementById("test").value);
}
必须是事先写在页面中的,不能用createElement动态创建;
这里用data模拟ajax的response;
将字符串写入iframe,需要用write(),而不能用innerHTML,之前尝试时都是使用innerHTML导致一直失败;
close()是为了关闭write()的流,不然浏览器会一致处于加载状态;
最后就可以用梦寐以求的getElementById()函数了,呼呼~
IE8,FireFox,Chrome测试通过。