2011-02-01 51 views
0

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

我有多个子链接(使用折叠式菜单&的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替换点击时子页面中正确的内容。有人能帮我吗?我猜我的代码有点太简单了....

我已经尝试了很多替代方法来代码的第二行,但没有任何作品。我或者什么也没有出现,或者链接只是进入页面,就好像脚本甚至没有工作。在此先感谢任何人可能会帮助...

+0

考虑使用Firefox和Firebug,如果你还没有。控制台错误和console.log()将有所帮助。 http://www.alistapart.com/ – 2011-02-01 02:56:04

回答

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')); 
    }); 
}); 
+0

对不起。我试图弄清楚,因为我去了编码部分。很糟糕。我只是试图将外部内容(从不同的html页面)加载到活动页面上的特定div,具体取决于用户选择的链接。想要让脚本从链接指向的相应页面提取内容(div id = mainText)并将该内容加载到活动页面的div中。 – user597757 2011-02-01 03:23:40

1

更改您的代码如下:

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

记住的的document.ready函数来包装这个