load()没有加载页面

时间:2009-09-13 16:55:53

标签: jquery load

这可能是一个简单的答案,但是我在编写这个小小的加载脚本时遇到了一些问题......我想我在某个地方有一个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

3 个答案:

答案 0 :(得分:2)

我认为你的loadName行应该是这样的:

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

答案 1 :(得分:2)

由于您定义了$('.load'),因此您无需为find('a')执行$(this)。只需使用$(this).attr('id')

即可

答案 2 :(得分:1)

jquery的find()“不会搜索所选元素,只搜索它们的后代。”

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