【发布时间】:2011-09-07 11:50:49
【问题描述】:
我知道有一种 JQuery 方法可以做到这一点,但这不是我现在需要的。
我有以下将页面内容拉入 div 的 javascript,但是我不想要整个页面,只需要该页面中 DIV 的内容:
function ahah(url, target) {
document.getElementById(target).innerHTML ='<img src="ajax-loader.gif"/>';
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
} else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
if (req != undefined) {
req.onreadystatechange = function() {ahahDone(url, target);};
req.open("GET", url, true);
req.send("");
}
}
function ahahDone(url, target) {
if (req.readyState == 4) { // only if req is "loaded"
if (req.status == 200) { // only if "OK"
document.getElementById(target).innerHTML = req.responseText;
} else {
document.getElementById(target).innerHTML=" Error:\n"+ req.status + "\n" +req.statusText;
}
}
}
function load(name, div) {
ahah(name,div);
return false;
}
然后我这样称呼它:
<a href="page.php" onclick="load('page.php','ajaxcontent');return false;" class="slide_more">LOAD</a>
应该在哪里指定我想从 page.php 加载的选择器?
【问题讨论】:
-
如果您只想要整个页面的一部分,那么该 DIV 不应该只是您从服务器返回的那个而不是发回整个页面吗?
-
没错,这就是我在这里的原因,我不知道该怎么做。我不知道要在上面的代码中更改什么以仅获取 div 而不是整个页面。
-
page.php 是只需要返回 DIV 的那个。您的客户端 JavaScript 代码不会剪切页面并获取 DIV。通常不会那样做
-
好的。然后我错了。我的假设基于 JQuery 加载,您不仅可以指定要加载的页面,还可以指定该页面上的选择器。你能给我举个例子吗?
-
我已经在答案中添加了参考+解释