0

我正在使用 jquery .get 来加载页面的内容。页面加载正常,输出存储在变量数据中。我只想从该数据变量中获取 ID 为“result1”的特定 div 并将其放在页面上。我无法从变量数据中解析这个特定元素,似乎所有元素都被放置在页面上。我认为这是一个简单的解决方法,但它让我发疯。

这是没有任何解析尝试的基本代码:

$.get("test.php?id=" + $(this).attr('id') + "&auth=1" ,function(data){
        $("#details1").html(data);
  });

以下是数据的结果:

<div id='result1'>
<table>
<tr>
<td>testa</td>
<td>testb</td>
</tr>
</table>
</div>

<div id='result2'>
<table>
<tr>
<td>testc</td>
<td>testd</td>
</tr>
</table>
</div>
4

3 回答 3

1

您可以使用负载()

$("#details1").load("test.php?id=" + $(this).attr('id') + "&auth=1 #result1");

.load() 方法与 $.get() 不同,它允许我们指定要插入的远程文档的一部分。这是通过 url 参数的特殊语法实现的。如果字符串中包含一个或多个空格字符,则假定字符串中第一个空格后面的部分是确定要加载的内容的 jQuery 选择器。

或者你可以自己做同样的事情:

$.get("test.php?id=" + $(this).attr('id') + "&auth=1" ,function(data){
    $("#details1").append( $('<div />').append(data).find('#result1') );
    $("#details2").append( $('<div />').append(data).find('#result2') );
    $("#details3").append( $('<div />').append(data).find('#result3') );
});
于 2013-03-29T19:04:02.457 回答
0
$.get("test.php?id=" + $(this).attr('id') + "&auth=1" ,function(data){
    $("#details1").html($(data).filter('#result1'));
});
于 2013-03-29T19:08:01.537 回答
0

使用此语法仅加载元素result1中的 div 。details1

$('#details1').load("test.php?id=" + $(this).attr('id') + "&auth=1 #result1');
于 2013-03-29T19:04:21.213 回答