2012-01-12 2 views
1

Я пытаюсь выполнить эффект, направленный на объектах с тем же id, но он работает только на первом:Повлиять на несколько элементов одного ID?

$("#continue").addGlow({ .. etc.. }); 

Как выносите с этим?

+4

Вы должны использовать класс. Нехорошо иметь более одного экземпляра того же идентификатора. – Peter

+1

@Peter Спасибо. Вот и все. –

ответ

4

Вы не можете. Это является следствием стандарта HTML. Как упоминал Питер в приведенном выше комментарии, вы должны использовать классы. Мало того, что вы делаете плохую практику, но это может иметь неуказанное поведение на старых, мобильных или даже некоторых основных браузерах.

http://www.w3.org/TR/WD-html40-970708/struct/global.html

ID = имя
Этот атрибут присваивает документ в масштабе имя конкретного экземпляра элемента. Значения идентификатора должны быть уникальными в документе . Кроме того, этот атрибут имеет то же имя, что и , атрибут name.

(курсив мой)

0

идентификатор может только быть надлежащим образом применен к одному элементу. Если вы хотите классифицировать группу элементов, вы должны использовать класс, а не идентификатор.

$(".continue").addGlow({ .. etc.. }); 

Попытка использовать идентификатор на нескольких элементах DOM приведет лишь к боли и разочарованию.

3

если вы должны использовать ID, вы можете сделать

$('[id="continue"]').addGlow({ .. etc.. }); 

это будет работать, я ПРОВЕРЕНО!

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