题
这可能是一个简单的答案,但是我在编写这个小小的加载脚本时遇到了一些问题......我想我在某个地方有一个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
解决方案
因为你定义了 $('。load')
,所以你不需要为 $(this)<做
find('a')
/代码>。只需使用 $(this).attr('id')
其他提示
我认为你的loadName行应该是这样的:
var loadName = $(this).attr("id"); // didn't see a declaration in your code
jquery的find()&quot;不搜索所选元素,只搜索它们的后代。“
看起来你已经拥有了“这个”指着你的“a”元素,所以摆脱find()。
不隶属于 StackOverflow