views:

55

answers:

3

Hi,

I am looking for a way to collect all <a> tags and load then in an array using Mootool 1.1 or pure javascript.

<ul class="menu">
  <li>
    <ul>
      <li><a href="#">Group One</a>
         <ul>
           <li><a href="#">I want</a></li>
           <li><a href="#">I want too</a></li>
         </ul>
      </li>
      <li><a href="#">Group Two</a>
         <ul>
           <li"><a href="#">I want</a></li>
           <li><a href="#">I want too</a></li>
         </ul>
      </li>
     </ul>
   </li>
</ul> 

Edit Solution:

Thank you all, your responses have helped me find a more precise solution.

Mootools 1.1: @ Oskar

$$("ul.menu ul li ul li a");

@ Dimitar

document.getElements("ul.menu ul li ul li a");

Keep Geeking :)

A: 

I'm not sure if you want to limit the action somehow, but getting all anchor elements in the page is easy:

var links = document.getElementsByTagName('a');

If you want to limit your search inside an element, set an id on that element so that you can easily find it, and use the getElementsByTagName on the element:

var links = document.getElementById('menu').getElementsByTagName('a');
Guffa
@Guffa: thanks for the response, however document.getElementsByTagName will just select all the links in the document and all i want to do is select main menu links.
Q_the_dreadlocked_ninja
@Q_the_novice: Then set an id on the menu element so that you can use the `getElementById` method to find it, then use the `getElementsByTagName` method on that element to find the links inside it.
Guffa
+1  A: 
// for the links of the first ul.menu on the page
var menuLinks = document.getElement("ul.menu").getElements("a");
// or you can get all links children of all uls with class menu
var menuLinks = document.getElements("ul.menu a");
Dimitar Christoff
Awesome, keep 'geeking'! ++
Q_the_dreadlocked_ninja
+1  A: 

$$('.menu a')

Oskar Krawczyk
Thankx this also works- ++
Q_the_dreadlocked_ninja
$$ is being deprecated but it's an alias for `this.document.getElements()` - this selector is a bit broad though. what if you have `<div class="menu">` elsewhere
Dimitar Christoff
@Dimitar: The current Joomla! CMS version(1.5) uses mootools 1.1, so until Joomla! 1.6(uses mootools 1.2) is officially released the $$ selector will still be useful to developers.Also check my edit at the top.
Q_the_dreadlocked_ninja
@Dimitar: Thanks mate, i'm learning so much.
Q_the_dreadlocked_ninja