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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top