1
悪いタイトルまたは質問のお詫び。しかし、わかりやすくするために、ここではヘッダーを複数回呼び出すコードを用意しています。以下の変数は、複製する要素を指定します。これは#header a[href=$="programs"]
です。 ID #header
は、コードの一部で複数回呼び出されます。手動で追加する代わりに、コードを一度呼び出してコードの一部に挿入する方法はありますか?私はまだjavascriptに新しいです。クラスまたはIDからの冗長なコール/ルックアップの軽減
私はプログラミングに関する理解が不足しているにもかかわらず、それをうまく説明できたらいいと思います。
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());
(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);
は、洞察力をいただき、ありがとうございます。しかし、ありがとうございます。 – clestcruz
ターゲットとする要素を定義する必要があります。それはあなたが一度それをやり遂げる方法です...そして、それを複数回使用してください。私が知っている他の方法はありません。 –