我有一个像这样的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>