iT邦幫忙

0

ajax取內容問題

下方的code可以透過filter將#res的html篩選出來
但我發現無法篩選第二層的東西,也就是filter對res2是沒有作用的
請問有比較好得方式是可以篩選取得ajax回傳的內容嗎?

<?php
if (isset($_POST['g'])) {
	echo '<div id="res">1<div id="res2">2</div></div>';
	exit;
}
?>

<html xmlns="http://www.w3.org/1999/xhtml">

<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>get</title>
<script type="text/javascript" src="js/jquery-1.3.2.min.js"></script>



<div id="show"></div>
<input type="button" id="btn1" value="btn1" />
<input type="button" id="btn2" value="btn2" />
<script>
$(function() {
	$('#btn1').click(function() {
		$.post('get.php', {g: 1}, function(data) {
			var data = $(data).filter('#res').html();
			$('#show').html(data);
		});
	});
	$('#btn2').click(function() {
		$.post('get.php', {g: 1}, function(data) {
			var data = $(data).filter('#res2').html();
			$('#show').html(data);
		});
	});
});
</script>

1 個回答

8
fillano
iT邦超人 1 級 ‧ 2009-09-03 14:38:31
最佳解答

你用filter('#res2'),就會把他的parent(也就是#res)移除,所以就不會有東西留下來。

如果只要取#res2,可以用find來做。

chan15 iT邦新手 5 級 ‧ 2009-09-03 15:07:48 檢舉

那很妙的是,為什麼#res不能用find要用filter?

我要發表回答

立即登入回答