所以我注意到jQuery取代.html()
时,甚至他们的例子都没有正常工作。我试图用AJAX问题帮助用户,突然AJAX不在我的测试页面上表现,也不是他的例子。实际上它不会将响应添加到#feedback
,无论是通过$('#feedback').load()
设置还是使用函数来追加数据!但是,如果你提醒数据,果然,你有整个页面(也是另一个问题,因为我们应该只抓住身体!)
jQuery发生了什么?
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(function () {
$('#button').click(function () {
$('#feedback').load('test.htm #body', function(data){
alert(data);
$('#feedback').html(data); // Append again... y u no work!?
});
});
});
</script>
</head>
<body>
<input id="button" type="submit" value="Go" />
<div id="feedback">Welcome</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body id="body">
Welcome again <label id="var_name" name="callBack_data" />
</body>
</html>
此操作的结果将alert()
整个页面而不仅仅是正文。它也不会将数据附加到div。
通过将按钮类型更改为type="button"
,我们可以将一些数据加载到div,但没有正确的选择。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
<script src="http://code.jquery.com/jquery-1.11.0.min.js"></script>
<script>
$(function () {
$('#button').click(function () {
$('#feedback').load('test.htm #body');
});
});
</script>
</head>
<body>
<input id="button" type="button" value="Go" />
<div id="feedback">Welcome</div>
</body>
</html>
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<div id="body">
Welcome again <label id="var_name" name="callBack_data" />
</div>
</body>
</html>
答案 0 :(得分:3)
.load
已经完成.html部分,你不需要自己这样做。
$('#feedback').load('test.htm #body');
此外,执行<body>
时会移除$("<div>").html("<body></body>")
,因此按ID定位不会有效。使用id="body"
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Test</title>
</head>
<body>
<div id="body">
Welcome again <label id="var_name" name="callBack_data" />
</div>
</body>
</html>
这将导致
<div id="feedback">
Welcome again <label id="var_name" name="callBack_data" />
</div>
将显示为:
再次欢迎