2009-09-13 165 views
1

这可能是一个简单的答案,但我有一些问题写这个小加载脚本...我认为我有一个错误的地方,我可以得到它来清除div,但页面不是加载:load()未加载页面

的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

回答

2

因为你定义$('.load'),你并不需要为$(this)find('a')。只需使用$(this).attr('id')

1

jQuery的发现() “不搜索所选元素,只有他们的后代。”

看起来你已经有了“this”指向你的“a”元素,所以摆脱find()。

2

我觉得你loadName行应该是这样的:

var loadName = $(this).attr("id"); // didn't see a declaration in your code 
相关问题