Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/83.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何使用JQuery将两个div加载到单独的目标中?_Jquery - Fatal编程技术网

如何使用JQuery将两个div加载到单独的目标中?

如何使用JQuery将两个div加载到单独的目标中?,jquery,Jquery,我正在努力实现两件事,但我都没有做到。 服务器上有一系列注释;它们都包含一个div(id=ajxContent)。一些注释还包含additiona div(id=ajxHead)。ajxContent本身包含调用下一期的链接(class=clicking),因此是变量中的链接目标 这是我的代码: $(document).ready(function(){ $( 'a.clicking' ).live('click', function(e){ e.preventDefault();

我正在努力实现两件事,但我都没有做到。 服务器上有一系列注释;它们都包含一个div(id=ajxContent)。一些注释还包含additiona div(id=ajxHead)。ajxContent本身包含调用下一期的链接(class=clicking),因此是变量中的链接目标

这是我的代码:

$(document).ready(function(){
$( 'a.clicking' ).live('click', function(e){
    e.preventDefault();
    var theLink = $(this).attr('href');
    $('#loadText').load(theLink + '#ajxContent');
    $('h1').load(theLink + '#ajxHead');
});
})
如果失败:

1) ajxContent被加载到h1标记及其预期目标中。 2) 当我以不同的方式设置代码时,如果注释中不存在div id=ajxHead,那么加载将删除h1标记中的现有值


有两个load语句,我是不是走错了路?非常欢迎输入,谢谢。

您需要一个空间来获取部分内容:

已更新-修复您的特定页面:

$( 'a.clicking' ).live('click', function(e){
  e.preventDefault();
  $.get($(this).attr('href'), function(resp) {
       $('#loadText').html($(resp).filter('#ajxContent').html()); 
       var head = $(resp).filter('#ajxHead');
       if(head.length) $('h1').html(head.html());
  });
});
因为您的元素都是根元素,我没有遇到过,
$(选择器,上下文)
不起作用,因为它在内部执行此操作:
context.find(选择器)
在您的情况下,它们不是根响应元素的子元素,它们都是根元素的同级,请执行
alert($(resp).length)
查看此信息


无论如何,上面的代码将完成您所需的工作,在Chrome和Firefox中进行测试,看起来不错,并且只请求页面一次。

非常感谢Nick。您的第一期解决了我的第一个问题,但当便笺没有ajxHead div时,h1仍然会被替换。遗憾的是,您的第二个选项返回全白屏幕?@Bussard-更新,请重试第二个选项。@Nick,不,现在ajxContent没有加载。@Nick-两个选项都不起作用,但之前屏幕全白;调用删除了#loadText和h1中的值。现在,最初的h1仍然可见,但内容消失,并且没有被ajxContent替换。@Bussard-尝试以下操作:
$.get($(this.attr('href'),function(data,status){alert(status);})你得到了什么?
$( 'a.clicking' ).live('click', function(e){
  e.preventDefault();
  $.get($(this).attr('href'), function(resp) {
       $('#loadText').html($(resp).filter('#ajxContent').html()); 
       var head = $(resp).filter('#ajxHead');
       if(head.length) $('h1').html(head.html());
  });
});