jquery获取id和appending.html&;切换类

jquery获取id和appending.html&;切换类,jquery,load,find,append,Jquery,Load,Find,Append,我是jquery新手,很高兴能得到一些关于这个的提示。我有几个链接,我想将它们的内容加载到我的#content div。我不使用a href,所以我想加载id和append.html(例如:第一个链接get id=“link1”。单击后我想将link1.html加载到#content div)。此外,我想将单击链接的类从非活动切换到活动,并查找上一个活动链接并将其更改为非活动 这就是我所尝试的: $(".link").click(function() { var linkHref = $

我是jquery新手,很高兴能得到一些关于这个的提示。我有几个链接,我想将它们的内容加载到我的#content div。我不使用a href,所以我想加载id和append.html(例如:第一个链接get id=“link1”。单击后我想将link1.html加载到#content div)。此外,我想将单击链接的类从非活动切换到活动,并查找上一个活动链接并将其更改为非活动

这就是我所尝试的:

$(".link").click(function() {
    var linkHref = $(this).attr("id");
    var loadHref = linkHref.append(linkHref + ".html");
    $("#content").load(loadHref);
    $("#nav").find(".active").toggleClass("active inactive");
    $(this).children("a").toggleClass("inactive active");
});
HTML:

<ul id="nav">
    <li><a href="#" id="link1" class="active link">Link 1</a></li>
    <li><a href="#" id="link2" class="inactive link">Link 2</a></li>
    <li><a href="#" id="link3" class="inactive link">Link 3</a></li>
</ul>

输出:什么都没有发生。

append
是jQuery对象的一个方法,而
attr
返回一个没有
append
方法的字符串(字符串对象),如果要连接字符串,则应改为使用
+
运算符。还要注意,您已经将处理程序绑定到
a
元素,而不是
li
元素,并且不需要使用
子元素

var linkHref = $(this).attr("id") + '.html';

啊,我明白了,事情现在越来越清楚了。非常感谢你!最后一件事:e.preventDefault();强制浏览器不导航到a标记中的url,对吗?这就是我认为我得到href=“#”的原因。如果我没有这个,我会喜欢href=“link1.html”,并可以在我的内容中加载它。还是我错了?@user2179266不客气,是的,如果您使用
preventDefault
方法,那么您可以使用
href
属性而不是ID。
$(".link").click(function(e) {
    // Prevent the default action of the event
    e.preventDefault();
    var linkHref = this.id + '.html';
    $("#content").load(linkHref);
    $("#nav a.active").toggleClass('inactive active');
    $(this).addClass("active").removeClass('inactive');
});