Javascript селекторы, как получить только первый рейтинг ссылок - PullRequest
0 голосов
/ 23 сентября 2019

Привет, я совершенно новичок в кодировании.и делать некоторые макеты Javascipt.но мне нужно сделать некоторые переменные.и не знаю как.Я хочу сделать выпадающее меню.для этого сайта. bertconinx.com Теперь, чтобы сделать то, что я хочу сделать, мне нужно быть способным выбрать href без необходимости изменять html.позвольте браузеру перейти по ссылке и затем выполнить некоторый javascript, так что мне нужно найти способ выбрать конкретную ссылку.Мне нужно выбрать главное меню меню без подменю пунктов.потому что они должны быть выпадающими на clickkevent.Я дошел до того, что это ..

a href="http://bertconinx.com/category/portrets/">Portrets</a 

a href="http://bertconinx.com/category/weddings/">Weddings</a>

должен сначала загрузиться, а затем должен выпасть из его подменю clickkevents.

но выбор href кажется трюком, который я пробовал.

var MenuEvent = document.getElementsByClassName("menu-item").getElementsByTagName("a");

Но это не работает.

Есть идеи о том, как их выбрать?

спасибо.

Ответы [ 2 ]

0 голосов
/ 23 сентября 2019
var parentMenus = [],
    parentMenueElems =  document.getElementById("menu-main-nav").children;
for(var parentMenueElem of parentMenueElems){

   if(!parentMenueElem){continue;}

   var parentMenue = {
       "name": parentMenueElem.firstElementChild.text,
       "anchor": parentMenueElem.firstElementChild
   };
   parentMenus.push(parentMenue);
}
console.log(parentMenus)

OutPut:

[
 {"name":"Portrets","anchor":element},
 {"name":"Weddings","anchor":element},
 {"name":"Wild","anchor":element},
 {"name":"Commercial Work","anchor":element},
 {"name":"About","anchor":element}
]
Example: element --> <a href="http://bertconinx.com/category/portrets/">Portrets</a>

Теперь вы можете выполнить любое событие для элемента

parentMenus[2].anchor.click();

0 голосов
/ 23 сентября 2019

documentNode.getElementsByClassName возвращает список элементов, поэтому, хотя вы можете вызывать .getElementsByTagName для каждого элемента, вы не можете вызывать функцию из списка напрямую.Что вам нужно сделать, это что-то вроде

// initialize an array to hold the anchors we get, and get all menu items on the document
var firstAnchors = [], 
    menuItems = document.getElementsByClassName('menu-item');
// iterate through the menu items and their specific anchors, adding only the first one of each menu item to our list
for(var menuItem of menuItems){
    firstAnchors.push(menuItem.getElementsByTagName('a')[0]);
}
// now, our anchors should be here
console.log(firstAnchors);
...