使用.load()将页面交换为div,但无法使其工作

时间:2012-09-19 22:35:24

标签: jquery load

我设置了my beaches page设置JS,通过隐藏<div>将海滩信息页面交换为<iframe>,但重新调整为使用jQuery作为更高效,更优质的解决方案。用几种不同的语法进行实验:

function loadContent(elementSelector, sourceUrl) {
    $(""+elementSelector+"").load("http://yoursite.com/"+sourceURL+"");
}

function loadSomething{
    $("#divid").load("http://place.com/to/content.php");
}

并使用后者设置a test page,因为这似乎有效。

我已经做了一些Java编程,这都是简单的东西,但我无法弄清楚它为什么不起作用。在测试页面上,有几个文本链接可用(在FF和Chrome中测试)但不是图像链接。 任何建议表示赞赏。

2 个答案:

答案 0 :(得分:1)

据我所知,您目前在粘贴的网站链接上存在语法错误:

<script type="text/javascript">
  $(function() {
    $('a[href=beachPenmm.htm]').click(function() {
      $('#beachInfo').load('beachPenmm.htm');
      return false;
    });
</script>       

<script type="text/javascript">
  });

您不能在脚本标记之间扩展语法。这可能不是唯一的问题,但是......但首先解决这个问题:)

答案 1 :(得分:1)

正如其他人已经指出的那样,您的网站上存在一些语法错误,因此您首先应该先修复它们。我只是觉得我会用一些DRYer代码轻推你...你已经有很多重复了。您正在做的基本结果是“对于这些<a>标记,当您点击它们时,将<a>标记的href加载到另一个元素而不是正常行为中。在每个图像元素上设置jQuery,您可以在一个函数中完成所有操作:

$('a').click(function() {
    $('#beachInfo').load($(this).attr('href'));
    return false;
});

这将一举涵盖所有这些。如果您希望某些链接正常运行而某些链接在页面中加载,您可以为它们分配如下类:

<a class="loadInPage" href="http://...">load me in-page</a>

然后只需相应地修改你的选择器:

$('a.loadInPage').click(function() {
    $('#beachInfo').load($(this).attr('href'));
    return false;
});

我希望这可以帮助你清理一下。但要注意那些错误! Javascrcipt控制台是你的朋友!