jQuery 引用文件夹中的文件

jQuery refer to files in folders

$(function () {
    $(".links2lvl a").click(function () {
        var page = this.hash.substr(1); /*in case of first link - works*/
        /* var page = this.hash.substr(7);  in case of second link - nope.jpg*/
        $.get(page + ".php", function (gotHTML) {
            $("#content").html(gotHTML);
        });
    });
});
<section class="tabs">
    <ul class="links1lvl">
        <li><a>About</a>
            <ul class="links2lvl">
                <li><a href="#who">Us</a></li>
                <li><a href="about/#personal">Personal</a></li>

所以这里我有两两套代码。首先是 jQuery 函数,它提取给定的 PHP 文件,其内容显示在 div 和 id="content" 中。

另一个是我的二级列表。在第二层,您可以看到我尝试参考的页面。第一个 link 工作得很好,jQuery 成功提取内容并显示给定的内容,但是 folder about/ 中的第二个 link 那是另一个故事,函数没有似乎找到了。问题是,我如何从另一个文件中引用 .whatever?

我在代码中看到的大多数问题都是基于通过向代码中添加更多挑战来解决挑战的尝试。 :)

我会给出一个建议,希望你不要介意:我会通过在每个 a[ 中添加一个“data-*”来解决=31=] 标签来保存您需要使用 this.hash 查找的参考(或者,也许,使用 .each.map) 遍历元素并提取要使用的正确 URL).

结果是,this.hash 将 return "#who",但它在 jQuery 中也是一个有效的 ID 选择器( see more here)。因此 this.hash 会找到“#who”,但不会找到 "about/#personal"(因为散列元素不是字符串的第一个字符)。

您可以使用 string.split('#') 直接捕获“#”之后的字符串,然后将其保存在 - 例如 - data-hash 参数在每个 a 标签,同时构建 HTML。然后应该相当容易地获得您的应用程序所需的内容(再一次,它总是关于如何最小化挑战,而不是增加挑战)。 ;)

遗憾的是,我现在无法构建代码示例,但如果您在理解这个想法时遇到困难,请与我联系,我会为您编写一个快速示例代码。