我发现并尝试更改一小段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替换为点击子页面中的正确内容。有人能帮我吗?我猜我的代码太简单了......
我尝试过第二行代码的许多替代方案,但没有任何效果。我要么没有得到任何东西要显示或链接只是去页面,好像脚本甚至没有工作。提前感谢任何可能提供帮助的人......
答案 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'));
});
});