div中的JQuery .load()

时间:2013-06-09 01:50:09

标签: jquery html ajax

这让我疯了!我搜索并尝试了一些似乎应该有效的建议,所以我必须做一些愚蠢的事情。

$(document).ready(function(){
  $('.trigger').click(function(){
  var link = $(this).attr("href");
    $('#target').load(link);
    return false;
  });
});

<div id='content'>
This is some stuff that I want left alone.
<a href="testload1.html" class="trigger">Click here</a>
<a href="testload2.html" class="trigger">Click here</a>
</div>
<div id="target">
</div>

我正在尝试将html文档“testload1”和“testload2”(只包含一行文本)加载到“target”div中。

相反,发生的事情是“testload1”页面只是作为普通链接加载。

编辑:更多信息

我尝试了以下建议的更改,没有任何区别。这让我觉得文件的其余部分有问题,所以这就是:

<!DOCTYPE html>
<head>
<title>test</title>
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> 
<script>
$(document).ready(function(){
  $('.trigger').click(function(){
  var link = $(this).attr("href");
    $('#target').load(link);
    return false;
  });
});
</script>
</head>
<body>
<div id='content'>
This is some stuff that I want left alone.
<a href="testload1.html" class="trigger">Click here</a>
<a href="testload2.html" class="trigger">Click here</a>
</div>
<div id="target">
</div>
</body>
</html>

这有什么理由不起作用吗?

3 个答案:

答案 0 :(得分:3)

当您点击链接或查看网址时,可能只需要阻止默认操作。

试试这个:

$(document).ready(function(){
    $('.trigger').click(function(e){
         e.preventDefault();
         var link = $(this).attr("href");
         $('#target').load(link);
      });
});

Also there's an example

答案 1 :(得分:1)

这是正确的代码:

$(document).ready( function(){
  $('.trigger').click(function(){
      var link = $(this).attr("href");
      $('#target').load( link + ' body' );
      return false;
  });
});

最好在目标文件中有一个基本的html结构,如下所示:

<html>
  <body>
    Content
  </body>
</html>

答案 2 :(得分:-1)

也许您的链接是动态创建的,使用.on()的事件委派:

$(document).ready(function(){
    $('body').on('click', '.trigger', function () {
        var link = $(this).attr("href");
        $('#target').load(link);
        return false;
    });
});

参考文献:

  • .on() - jQuery API文档