简单的jquery从div问题加载外部内容

时间:2011-02-01 02:50:33

标签: jquery

我发现并尝试更改一小段jquery代码,将外部内容加载到我无法工作的现有div中。我遇到的问题是尝试使代码更有用,因为我在页面上有很多链接。我是一个新手,所以我试图看看我是否可以保持简单,我不知道问题出在哪里。我试图修改的代码:

$(function() {
  $('div[class="subNav"]').click(function() {
    $('#mainText').load$(this).attr('href'); 
       return false;
    });
});

mainPage.html有一个div,用于包装页面的主要文本。

<div id="mainText">Content Change Here</div>

我在此页面下的不同div下有多个子链接(使用手风琴菜单和javascript)。

<div class="subNav">

    <h3 class="heading">heading1</h3>
    <ul class="navListings">
      <li><a href="sub1a.html">link 1a</a></li>
      <li><a href="sub1b.html">link 1b</a></li>
      <li><a href="sub1c.html">link 1c</a></li>
    </ul>

    <h3 class="heading">heading2</h3>
    <ul class="navListings">
      <li><a href="sub2a.html">link 2a</a></li>
      <li><a href="sub2b.html">link 2b</a></li>
    </ul>

    ....and so on......</div>

所有页面都有相同的mainText div作为内容。我只想将mainPage.html上的mainText div替换为点击子页面中的正确内容。有人能帮我吗?我猜我的代码太简单了......

我尝试过第二行代码的许多替代方案,但没有任何效果。我要么没有得到任何东西要显示或链接只是去页面,好像脚本甚至没有工作。提前感谢任何可能提供帮助的人......

2 个答案:

答案 0 :(得分:1)

将您的代码更改为:

$('div.subNav').click(function() {
$('#mainText').load($(this).attr('href')); 
   return false;
});

请记住将其包装在document.ready function

答案 1 :(得分:0)

$(function() {
  $('div[class="subNav"]').click(function() {
    // missing `(` after load. as well as everything else.
    $('#mainText').load$(this).attr('href'); 
       return false;
    });
});

你想用.load做什么?

$("#mainText").load("url", function() {
    // what are you doing here?
    $(this).attr("href");
    return false;
});   

这应该适用于此:

$(function() {
    $('div[class="subNav"]').click(function() {
        $('#mainText').load($(this).attr('href')); 
    });
});