如何操作ajax响应文本



我有一个像这样的ajax代码:

var req = new XMLHttpRequest();
req.open('GET', 'http://www.example.org/', false); req.send(null);
if(req.status == 200)
var response = http_attendance.responseText; document.getElementById('divAttendance').innerHTML = response;

当我在页面上得到结果时,FF浏览器显示了'divAttendance'上的DOM元素。如果我想在结果上添加一些jquery效果,我就做不到。

使用firebug可以清楚地查看

DOM元素。但是,当我生成该页面的源代码时,就没有"divAttendance"的响应文本。它像这样空白:

<html>
....
..
<div id="divAttendance"></div>
..
..
</html>

如何操纵或对结果施加一些影响?

好吧,如果你正在使用jQuery那么你应该使用jQuery ajax无论如何http://api.jquery.com/jQuery.ajax/

无论如何,如果你用AJAX响应填充你的div,那么它将不会显示使用"查看源",而你将不得不使用一个工具,如firebug。

您的div最初应该看起来像下面的

<div id="divAttendance" style="display:none"></div>

和你的javascript应该有以下

.....
document.getElementById('divAttendance').innerHTML = response;
$("#divAttendance").show("slow");

对于这样的操作,jQuery加载是一个简单而有用的函数,看一看http://api.jquery.com/load/

您的具体示例可以重写为

<html>
....
IMPORT JQUERY.JS
<script language="javascript">
$('#divAttendance').load('http://www.example.org/', function() {
 $("#divAttendance").show("slow");
});     
</script>
..
<div id="divAttendance" style="display:none"></div>
..
..
</html>

最新更新