我有以下两个功能都在做相同的事情,可以将这两个功能组合为一个功能吗?
$(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");
});
});
谢谢,
乔什
答案 0 :(得分: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");
});
要在单击时取消选择其他元素,请找到与容器ID相匹配的祖先(nav
或overlay
),然后从后代{{1}中删除current_page_item
类}元素。