Влияет на несколько элементов с одинаковым идентификатором? - PullRequest
1 голос
/ 12 января 2012

Я пытаюсь выполнить эффект, нацеленный на объекты с таким же id, но он работает только на первом:

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

Как мне добиться этого?

Ответы [ 3 ]

4 голосов
/ 12 января 2012

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

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

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

(акцент мой)

3 голосов
/ 12 января 2012

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

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

ЭТО БУДЕТ РАБОТАТЬ, Я ИСПЫТАЛ!

0 голосов
/ 12 января 2012

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

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

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

...