Jquery 减少来自类或ID的冗余调用/查找
为错误的标题或问题道歉。但是为了便于理解,我这里有一个代码,例如多次调用头部。下面的变量指定要克隆的元素,即Jquery 减少来自类或ID的冗余调用/查找,jquery,Jquery,为错误的标题或问题道歉。但是为了便于理解,我这里有一个代码,例如多次调用头部。下面的变量指定要克隆的元素,即#头a[href=$=“programs”]。ID#header在我的代码中被多次调用。是否有一种方法可以调用它一次并将其插入到我的代码中,而不是手动添加它。我对javascript还是新手 尽管我对编程缺乏了解,但我希望我能很好地解释它 var programsMenu = []; programsMenu.push($('#header a[href$="/pr
#头a[href=$=“programs”]
。ID#header
在我的代码中被多次调用。是否有一种方法可以调用它一次并将其插入到我的代码中,而不是手动添加它。我对javascript还是新手
尽管我对编程缺乏了解,但我希望我能很好地解释它
var programsMenu = [];
programsMenu.push($('#header a[href$="/programs"]').clone());
programsMenu.push($('#header a[href$="/programs"]').next().clone());
var degreesMenu = [];
programsMenu.push($('#header a[href$="/programs"]').clone());
degreesMenu.push($('#header a[href$="/degree-programs"]').clone());
degreesMenu.push($('#header a[href$="/degree-programs"]').next().clone());
(函数($){
"严格使用",;
变量页脚导航={
init:function(){
变量程序菜单=[];
programsMenu.push($('#头a[href$=“/programs”]').clone();
programsMenu.push($('#头a[href$=“/programs”]').next().clone());
var degreesMenu=[];
programsMenu.push($('#头a[href$=“/programs”]').clone();
degreesMenu.push($('#头a[href$=“/学位程序”]”).clone();
degreesMenu.push($('#标题a[href$=“/学位程序”]”)。next().clone());
$('#footer.programs menu.degree').append(degreesMenu);
var非偏析=[];
nonDegreeMenu.push($('#头a[href$=“/高管教育计划“]).clone());
nonDegreeMenu.push($(“#头a[href$=”/development education programs“]).clone();
nonDegreeMenu.push($(“#头a[href$=”/program schedules“]).clone();
$('#footer.programs menu.non degree').append(nonDegreeMenu);
var-schoolMenu=[];
school menu.push($('#标题a[href$=“/schools”]').clone();
school menu.push($('#标题a[href$=“/schools”]')。next().clone());
$('#footer.schools faculty menu.schools').append(school menu);
var facultyMenu=[];
facultyMenu.push($('#标题a[href$=“/教员和职员“]).clone());
facultyMenu.push($(“#头a[href$=”/faculty and staff“]).next().clone());
$('#footer.schools faculty menu.faculty').append(facultyMenu);
//var Research菜单=[];
//researchMenu.push($('a[href$=“/research centers“]).clone();
//researchMenu.push($('a[href$=“/research centers“]).next().clone());
var researchCenters=$(“#标题a[href$=”/research centers“])。下一步().clone(),
中心列表=$('li',研究中心),
研究=$(“#footer.research centers menu.research”),
出版物=$(“#页脚.研究中心菜单.出版物”),
publicationsMenu=$('
您可以使用变量来携带jQuery元素
这不仅可以缩短代码并使其更具可读性…它还减少了jQuery在文档上查找元素的次数,从而提高了代码的效率 比如:
谢谢你的见解,虽然我考虑过使用变量,但我想我更多的是考虑一个函数。但是谢谢你,你必须定义你想要的目标元素。这就是你可以做一次的方式。。。然后多次使用它。没有别的办法我知道。
(function ($) {
'use strict';
var footerNavigation = {
init : function() {
var programsMenu = [];
programsMenu.push($('#header a[href$="/programs"]').clone());
programsMenu.push($('#header a[href$="/programs"]').next().clone());
var degreesMenu = [];
programsMenu.push($('#header a[href$="/programs"]').clone());
degreesMenu.push($('#header a[href$="/degree-programs"]').clone());
degreesMenu.push($('#header a[href$="/degree-programs"]').next().clone());
$('#footer .programs-menu .degree').append(degreesMenu);
var nonDegreeMenu = [];
nonDegreeMenu.push($('#header a[href$="/executive-education-programs"]').clone());
nonDegreeMenu.push($('#header a[href$="/development-education-programs"]').clone());
nonDegreeMenu.push($('#header a[href$="/program-schedules"]').clone());
$('#footer .programs-menu .non-degree').append(nonDegreeMenu);
var schoolMenu = [];
schoolMenu.push($('#header a[href$="/schools"]').clone());
schoolMenu.push($('#header a[href$="/schools"]').next().clone());
$('#footer .schools-faculty-menu .schools').append(schoolMenu);
var facultyMenu = [];
facultyMenu.push($('#header a[href$="/faculty-and-staff"]').clone());
facultyMenu.push($('#header a[href$="/faculty-and-staff"]').next().clone());
$('#footer .schools-faculty-menu .faculty').append(facultyMenu);
// var researchMenu = [];
// researchMenu.push($('a[href$="/research-centers"]').clone());
// researchMenu.push($('a[href$="/research-centers"]').next().clone());
var researchCenters = $('#header a[href$="/research-centers"]').next().clone(),
centersList = $('li', researchCenters),
research = $('#footer .research-centers-menu .research'),
publications = $('#footer .research-centers-menu .publications'),
publicationsMenu = $('<ul class="menu" />').appendTo(publications),
researchMenu = $('<ul class="menu" />').appendTo(research),
centers = centersList.slice(0, 6),
resources = centersList.slice(6);
//Store Research anchor and AIM Research Centers
var aimResearchCenters = [];
aimResearchCenters.push($('#header a[href$="/research-centers"]').clone());
aimResearchCenters.push($(researchMenu.append(centers)));
//Append aimResearch array
$('#footer .research-centers-menu .research').append(aimResearchCenters);
publicationsMenu.append(resources);
/*
$('#footer .research-centers-menu .research').append(centers);
$('#footer .research-centers-menu .publications').append(resources);
*/
var aboutMenu = [];
aboutMenu.push($('a[href$="/about-us"]').clone());
aboutMenu.push($('a[href$="/about-us"]').next().clone());
$('#footer .about-menu .about').append(aboutMenu);
//Duplicate Breadcrumns on header and insert it on footer
var breadcrumbs = $('.region-breadcrumb').clone();
$('.region-breadcrumb').clone().insertAfter('#footer .footer-head');
}
}
$(document).ready(function() {
footerNavigation.init();
})
})(jQuery);
var programs = $('#header a[href$="/programs"]');
var degrees = $('#header a[href$="/degree-programs"]');
var schools = $('#header a[href$="/schools"]');
// and so on...