3

这一直让我发疯!我已经搜索并尝试了一堆看起来应该可行的建议,所以我一定是在做一些愚蠢的事情。

$(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”(仅包含一行文本)加载到“目标”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>

有什么理由不应该工作吗?

4

3 回答 3

3

也许您只需要在单击链接或检查 url 时阻止默认操作。

尝试这个:

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

还有一个例子

于 2013-06-09T02:01:27.373 回答
1

这是正确的代码:

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

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

<html>
  <body>
    Content
  </body>
</html>
于 2013-06-09T03:16:13.157 回答
-1

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

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

参考:

  • .on()- jQuery API 文档
于 2013-06-09T03:08:21.883 回答