Вы можете сделать это двумя способами:
1) Посмотрите на myDiv
и затем используйте Element#select
:
$('myDiv').select('a[class="active"]').each(...);
или
2) Используйте селектор идентификатора с селектором потомка с $$
:
$$('#myDiv a[class="active"]).each(...);
Если вы хотите только прямой дочерний (не потомок), вы можете использовать дочерний селектор (обратите внимание на >
):
$$('#myDiv > a[class="active"]).each(...);
Не по теме # 1: Обычный способ написать a[class="active"]
в селекторе будет a.active
, например, "$('myDiv').select('a.active').each(...);
".
Не по теме # 2: Вы также можете посмотреть на функцию invoke
, которая предназначена для вызова одной и той же функции для каждого элемента в объекте Enumerable (например, "$('myDiv').select('a[class="active"]').invoke('removeClassName', 'active');
").invoke
это красиво, коротко и выразительно, но это медленнее, чем делать это самостоятельно, как вы.(Это имеет значение только тогда, когда вы попадаете на тысячи элементов.)