结合多个jQuery

Jos*_*ers 0 jquery class function

我具有以下两个功能相同的功能,可以将这两个功能组合为一个功能吗?

$(document).ready(function(){
    $("#nav li").click(function(e) {
        e.preventDefault();
        $("#nav li").removeClass("current_page_item");
        $(this).closest("li").addClass("current_page_item");
    });
    $("#overlay li").click(function(e) {
        e.preventDefault();
        $("#overlay li").removeClass("current_page_item");
        $(this).closest("li").addClass("current_page_item");
    });
});
Run Code Online (Sandbox Code Playgroud)

谢谢,
乔希

jsp*_*cal 5

您可以将一对选择器与逗号结合使用。两个选择器的匹配元素将被返回:

$("#nav li, #overlay li").click(function(e) {
    e.preventDefault();
    $(this).closest('#nav, #overlay').find('li').removeClass("current_page_item");
    $(this).closest("li").addClass("current_page_item");
});
Run Code Online (Sandbox Code Playgroud)

要在单击时取消选择其他元素,请找到与容器ID(navoverlay)相匹配的祖先,然后current_page_item从后代li元素中删除该类。