Что такое эквивалент Prototype 1.6.0+ для document.getElementsByClassName? - PullRequest
0 голосов
/ 28 ноября 2011

В частности, мне нужен эквивалентный селектор для этого, который работал в Prototype 1.5.0:

//for each element with class of 'myClassName' and an ancestor with id='myElementID'...
document.getElementsByClassName('myClassName', $('myElementID')).each( ... );

Я пробовал это:

$$('myElementID input.myClassName').each( ... ); //Because I will be selecting input elements with this class

и это:

$$('myElementID .myClassName').each( ... ); //Trying to get all child elements with this class name

Я получаю пустой список каждый раз. Дочерние элементы, которые я хочу, не обязательно являются прямыми, поэтому я знаю, что символ > не будет работать.

Я не использую Prototype и не могу найти помощь по этому конкретному вопросу. Любая помощь приветствуется.

Ответы [ 2 ]

3 голосов
/ 28 ноября 2011

Глядя на документацию, похоже, что следующее должно работать нормально:

$$('#myElementID .myClassName').each( ... );

http://www.prototypejs.org/api/utility/dollar-dollar

3 голосов
/ 28 ноября 2011

Функция $$ примет любой селектор CSS, поэтому используйте #, чтобы получить myElementID по идентификатору.Остальная часть селектора для получения всех входов с классом myClassName внутри myElementID была правильной.

$$('#myElementID input.myClassName').each( ... );
...