2014-01-14 2 views
3

Это O.K. использовать одно и то же имя для имени класса и имени? Это запах кода?HTML - Использование одинакового имени для идентификатора и класса

<div class="wrapper" id="wrapper"></div> 
+2

Почему бы не запустить вашу страницу через [** W3C Validator **] (http://validator.w3.org/)? –

+2

Полностью ок чувак. – rednaw

+1

@rednaw Извините, что вы придирчивы, но делает ли этот комментарий действительно что-то добавить? Уже было 3 ответа, в общей сложности 13 upvotes. –

ответ

8

Да, это действительно так. Не обязательно, чтобы нуждался в, чтобы сделать это: это немного code smell. Это может указывать на необходимость пересмотра ваших соглашений об именах.

Для расширения по вопросу именования и семантики:

При использовании идентификатора wrapper, вы говорите, «Это обертка - единственный в своем роде». Когда вы используете класс wrapper, вы говорите: «Это одна из оберток, и есть другие подобные». Говорить обе эти вещи в то же время немного странно, не так ли?

Я бы предположил, что вы используете определенный идентификатор: #primaryWrapper, #outerWrapper и т. Д. Это означает, что вы выражаете «primaryWrapper - это одна из оберток», что делает кучи более разумными.

6

Да, это полностью действительным, и вы можете сделать это

Надеюсь, вы знаете, что
#ID должен быть уникальным, на страницы, в то время как
.CLASS может быть assignet более чем одного элемента ,

Если вы склонны писать чистую и читаемую разметку HTML, всегда старайтесь сохранять свои атрибуты на понятном минимуме.

+2

Но не используйте 'id' более одного раза. Кроме того, вы должны понимать, что более старые версии Internet Explorer нечувствительны к регистру. – PHPglue

+0

Он сказал, что #ID «должен быть уникальным для каждой страницы». – Andrew

3

Да, это разные сущности. Тем не менее, не совсем правильно использовать один и тот же идентификатор для нескольких объектов.

3

Да, вы могли бы, но, как правило, вы не должны. Классы могут использоваться повторно, но идентификаторы остаются уникальными. Попробуйте wrapper1 a wrapper2, если вам нужно.

+1

Я бы сказал, что wrapper1 (как идентификатор) и wrapper2 (как класс) были бы еще менее полезны, чем обертка, как и идентификатор, так и класс: 1 и 2, похоже, указывают, что эти два являются братьями/сестрами/равными, случай. – Beejamin

+1

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

3

Да, это нормально, с точки зрения броузеров это два совершенно разных элемента.

Классы определяются с использованием ., а идентификаторы определяются с использованием #.

Но будьте осторожны, чтобы не путать себя при кодировании.

Для получения дополнительной информации вы можете обратиться к документации
идентификаторов элемента: Ид и класс атрибутов в
http://www.w3.org/TR/html401/struct/global.html#h-7.5.2

1

Да, ты в порядке.

Как заявили люди, просто помните, что вы сохраняете уникальный идентификатор.

POINTER:

классов, как правило, используется для группирования многих вещей, которые будут стилизованные же или очень похожи.

идентификаторы используются для идентификации определенного элемента, в основном для javascript.

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