这可能是一个简单的答案,但我在编写这个小的加载脚本…时遇到了一些问题我想我在某个地方有一个bug,我可以让它清除div,但是页面没有加载:
Jquery:
$(document).ready(function() {
//Load content
$(".load").click(function(){
$("#content").empty();
loadName = $(this).find("a").attr("id");
$("#content").load("/content/" + loadName + ".php");
});
});HTML:
<div id="select">
<div id="menu">
<ul>
<li><a class="load" href="javascript:void(0)" id="project1">Project 1</a></li>
<li><a class="load" href="javascript:void(0)" id="project2">Project 2</a></li>
</ul>
</div>
</div>
<div id="content"></div>这两个php文件都位于如下所示的链接中(请注意,这些只是虚拟名称,而不是实际链接):
http://www.hostname.com/content/project1.php
http://www.hostname.com/content/project2.php
发布于 2009-09-13 17:16:53
因为已经定义了$('.load'),所以不需要为$(this)执行find('a')。只需使用$(this).attr('id')即可
发布于 2009-09-13 17:16:16
我认为你的loadName代码应该是这样的:
var loadName = $(this).attr("id"); // didn't see a declaration in your code发布于 2009-09-13 17:15:40
jquery的find()“不搜索选定的元素,只搜索它们的后代元素”。
看起来你已经有了"this“指向你的"a”元素,所以去掉find()。
https://stackoverflow.com/questions/1418212
复制相似问题