2010-09-02 6 views
2

Я могу показать/скрыть с помощью идентификаторов, однако как это сделать с помощью классов?Prototype Hide Все элементы класса

Например, это будет работать, если у меня есть #black, но что делать, если у меня есть .black?

Спасибо,

ответ

6

Понял!

$$('.black').each(
    function (e) { 
     e.setStyle({border:'1px solid red'}); 
    } 
); 
+0

FYI, jQuery поддерживает обработку нескольких элементов без необходимости итерации явно: $ ('. Black'). Hide(); ... скроет все с помощью класса .black. Ненавижу быть «этим парнем», но если у вас есть опция, я настоятельно рекомендую переключиться на jQuery. jQuery уже давно выиграл битву за библиотеки javascript, владея примерно 90% доли рынка. Единственный раз, когда я использую Prototype, - это поддержка устаревших приложений. – siliconrockstar

+0

согласен с siliconrockstar, я в той же ситуации с вами, работая над старым webapp. –

1

Try:

$$('.black').setStyle({ 
    display:'none', border:'1px solid red' 
}); 

Дополнительная информация:

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

+0

К сожалению, я получаю. TypeError: $$ (". Black"). SetStyle не является функцией {message = "$$ (". Large-black "). SetStyle не является функцией", больше ...} Когда $$ (". Black ") возвращает 2 элемента – pondpad

+0

@pondad: Убедитесь, что вы используете последнюю версию прототипа. – Sarfraz

+0

Использование 1.5.1.1, обновление не является вариантом, поскольку на него полагаются другие другие части. – pondpad