2010-01-11 5 views
1

Я использую MooTools, и мне нужно найти элемент, который имеет оба класса «a» и «b» (самый внутренний div в моем примере ниже).Mootools - выбор элемента DOM по его классам

HTML-структура:

<div class="a"> 
    <div class="otherclass"> 
     <div class="b"></div> 
    </div> 
</div> 

В JQuery это $ ("ДИВ .а .b"), насколько я знаю. Каков синтаксис mootools? Я пробовал

$$("div .a .b") 

, но он не вернул никаких результатов.

Спасибо!

- Чтобы очистить вещи, я хочу получить ТОЛЬКО divs, у которых есть оба класса (в данном случае только одно.) Спасибо.

ответ

1
var divsB = $$("div.a div.b"); 

http://mootools.net/shell/jfnWK/ - выбирает первый, но не второй, как это не ребенок из div.a

+0

благодарит за отличный инструмент. Выражение, которое вы дали, дает неверный результат: результат равен 1 2, что означает, что я также получаю div, который имеет только класс «b», и я хотел бы получить только тех, у кого есть «a» и «a», б». – Nir

+0

вам действительно нужно взглянуть на firefox/любую консоль браузера - он вернет только первый экземпляр. вы видите 1 2 для иллюстрации как html - это не то, что возвращает селектор. Ваш оригинальный селектор ошибочен - вы вызываете любые элементы div, у которых есть какие-либо дочерние элементы класса «a», которые имеют любые элементы дочернего класса «b» - поэтому это селектор уровня 3 и тот, который будет идентичным в mootools -> div -> a -> b, а не div.a -> div.b, который соответствует вашей разметке. –

+2

jsfiddle ссылка неправильная или мертвая. –

1

насчет

$$('div.a div.b') 

или

$$("div.a").getElements("div.b"); 
+0

Я думаю, что ' div.a div.b 'дает слишком широкие результаты (что означает не только divs, у которых есть классы «a» и «b», но также и те, кто только «b» или только «a»). Что касается второго метода, не существует ли более короткий CSS-способ определения селектора? спасибо. – Nir

Смежные вопросы