Javascript 加载div内的页面内容和链接;

Javascript 加载div内的页面内容和链接;,javascript,ajax,Javascript,Ajax,好的,基本上我想实现的是加载在div中单击的targetDiv链接,而不是加载整个页面;下面是我当前使用的脚本 <div id = "targetDiv"></div> <script> $('document').ready(function() { $('#targetDiv').load('/test.php'); }); </script> $('document').ready(函数(){ $('#targetDiv').l

好的,基本上我想实现的是加载在div中单击的
targetDiv
链接,而不是加载整个页面;下面是我当前使用的脚本

<div id = "targetDiv"></div>

<script>
$('document').ready(function() {
    $('#targetDiv').load('/test.php');
});
</script>

$('document').ready(函数(){
$('#targetDiv').load('/test.php');
});

因此,我遇到的问题是,当单击加载到
targetDiv
中的链接时,整个页面将加载,用户将从原始页面转到新页面;我想在
targetDiv
中加载新页面

您需要有一个阻止默认事件的单击处理程序,并再次使用href来
load()

$(function(){
    $('#targetDiv').on('click', 'a', function(e){
         e.preventDefault();// prevent browser from opening url
         $('#targetDiv').load(this.href);    
    });
});

这是一个委托的侦听器,用于解释在运行时不存在的将来的
。这不起作用的主要原因是。如果您在运行PHPWeb服务器时尝试我的代码片段,它将无缝工作

您似乎缺少单击事件的事件侦听器。假设您有id=“link”:

jQuery

$("#link").click("click", function() {
  // Do the AJAX request
  $.ajax({
    url: "/text.php"
  })
  .done(function(data) { // data fetched from php file
    // Load data into div
    $('#targetDiv').html(data);
  });

  /*
  // this would also work
  $("#targetDiv").load('text.php');
  */
})

<div id="targetDiv"></div>
$(“#链接”)。单击(“单击”,函数(){
//执行AJAX请求
$.ajax({
url:“/text.php”
})
.done(函数(数据){//从php文件获取的数据
//将数据加载到div中
$('#targetDiv').html(数据);
});
/*
//这也会起作用
$(“#targetDiv”).load('text.php');
*/
})

对于您尝试执行的操作,简单的答案是将单击事件绑定到目标div内的锚定标记,并再次显式地将内容加载到该div

$( "#targetDiv a" ).click(function() {
  $('#targetDiv').load(this.href);
});

正如另一个注释所示,您似乎一直在期待类似iframe的行为,这可能是您为此而使用的元素。

[update]我希望它充当iframe,即链接在框架内加载;但是,如果让人更容易理解的话,可以在div中加载。你能告诉我们你的链接是什么样子吗?@showdev sure在
test.php
页面上,该页面加载在
targetDiv
中,我的链接看起来像
听起来像AJAX请求?
load()
OP是
$的快捷方式。ajax
当我使用此脚本时,它不会将text.php文档加载到targetDiv中?这些元素在运行时不存在我还建议单击事件,因此,链接不会以其本机方式进行跟踪。好吧,我不知道为什么,但我是否正确使用了它,因为页面没有加载到div中,这里<代码>$(“#targetDiv a”)。单击(函数(){$('#targetDiv')。加载('/text.php');})@LewisTyler如果我理解正确,您打算单击该text.php内容中的链接(假定该链接已加载到document ready函数中),然后将其加载到同一个div中(覆盖之前该div中的内容)。我想要的代码(这在@charlieftl的回答中是正确的)只是做了后者,获取任何可点击的链接并将其加载到您的div中。在特定的用例中,它就像将他的答案附加到您现有的代码中一样简单。我可以确认我使用的是正确的,因为我无法让它加载页面;在这一行,我使用
$('#targetDiv').load('/text.php')但是,它不会在div中加载任何内容。但这将始终加载相同的页面。你说你想在内容中加载链接是我理解的。哦,对了,那太好了,我也可以这样做,我真的很抱歉最后一个问题,但是如果我想在targetdiv中加载链接,我真的很抱歉。因此,例如,如果一个链接被放置在div外部以加载到div中,那么例如,如果一个链接被放置在div外部以加载到div中,那么您需要按类或父类(如
$('#nav a')将其作为目标。单击..