【发布时间】:2016-10-30 05:43:20
【问题描述】:
我正在使用菜单链接传递 href 值 jQuery .load() 以将内容加载到 div。由于某种原因,负载卡在加载一个页面而没有其他页面。在某些时候,这是有效的。
菜单链接示例:
<ul class="menu">
<li>
<a href="link1.html" class="load_link">Content 1</a>
</li>
<li>
<a href="link2.html" class="load_link">Content 2</a>
</li>
<li>
<a href="link3.html" class="load_link">Content 3</a>
</li>
</ul>
我有一个div 和id="jq_load_content",将在其中加载新内容。
我将内容加载到 div 的基本脚本是:
$(document).ready(function(){
$(".load_link").click(function() {
//TRIED MAKING VARIABLE EMPTY EVERY CLICK
var contentUrl = null;
//LOAD VARIABLE WITH HREF ON CLICKED LINK
var contentUrl = $(this).attr('href');
// TRIED EMPTYING DIV
$('#jq_load_content').empty();
//load url
$('#jq_load_content').load(contentUrl, function(){
//Functions after load
});
// DISABLE LINK
return false;
}); //End menu link click
}); //End document ready
点击链接时,只会加载第一个 href。最初,即使我单击其他链接,link1.htm 也是拉入div 的内容。在我添加了.empty() 函数后,其他函数返回空白,但link1 仍然有效。所有链接的文件确实存在并且位置正确。我什至尝试通过仅使用不同的查询字符串(link1.html?test=1、link1.html?test=2)调用 same 页面进行测试,但仍然只有第一个链接有效。
任何帮助将不胜感激。
谢谢
【问题讨论】:
-
问题出在
newViewScreen。这有什么意义?这不应该是contentUrl -
@Shaunak D 是的。这是我粘贴中的一个错字。在我的实际脚本中,我使用 newViewScreen。我试图为读者简化命名。谢谢。我已经更正了。
-
“由于某种原因,加载一页而没有其他页面”无法重现
-
我认为您的 JavaScript 没有任何问题会导致您遇到的问题。也许您在创建问题时简化了问题。在调试您的实际代码时,您是否在调用
.load()之前检查了contentUrl变量的值?如果您不熟悉调试器,您可以在此时添加alert(contentUrl);。 -
您还声明了两次
var contentUrl。删除它。虽然这不是问题
标签: jquery jquery-load