Уже существует проект изменений позиции. Каковы допустимые значения для атрибута id в HTML? Сведения о контрактах


именования название (19)

алфавиты-> колпачки и маленькие
цифры -> 0-9
специальные символы-> ":", "-", "_", "."

формат должен начинаться с "." или алфавит, за которым следует либо специальный символ большего количества алфавитов, либо цифр. значение поля id не должно заканчиваться на "_".
Кроме того, пробелы не допускаются, если они предоставляются, они рассматриваются как разные значения, что недействительно в случае атрибутов id.

При создании атрибутов id для элементов HTML какие правила существуют для значения?

HTML5:

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

  • значение должно содержать хотя бы один символ (не может быть пустым)
  • он не может содержать пробелов.
  • PRE-HTML5:

    Идентификатор должен соответствовать:

    [-A-Za-z0-9_:.]*

  • Начать с символов AZ или az
  • Может содержать - (дефис), _ (подчеркивание),: (двоеточие) и. (Период)
  • но следует избегать: и. обусловлено:

    Например, идентификатор может быть помечен как «ab: c» и указан в таблице стилей как #ab: c, но также как идентификатор элемента, это может означать идентификатор «a», класс «b», псевдо- селектор «c». Лучше избегать путаницы и избегать использования. и: вообще.

    Строго он должен соответствовать

    [-A-Za-z0-9_:.]*

    Но у jquery, похоже, проблемы с двоеточиями, поэтому лучше их избежать.

    Как чисто практический вопрос, вы можете избежать определенных символов. Периоды, двоеточия и «#» имеют особое значение в CSS-селекторах, поэтому вам придется избегать этих символов, используя обратную косую черту в CSS или двойную обратную косую черту в селекторной строке, переданной в jQuery . Подумайте, как часто вам придется избегать символа в ваших таблицах стилей или кода, прежде чем сходить с ума по периодам и двоеточиям в ids.

    Например, допустимо объявление HTML . Вы можете выбрать этот элемент в CSS как #first\.name и в jQuery следующим образом: $("#first\\.name"). #first\.name $("#first\\.name"). Но если вы забудете обратную косую черту, $("#first.name") , у вас будет отлично действующий селектор, который ищет элемент с идентификатором first а также имеет name класса. Это ошибка, которую легко упустить. Вы могли бы быть более счастливыми в долгосрочной перспективе, выбрав вместо этого идентификатор (дефис, а не период).

    Вы можете упростить свои задачи разработки, строго придерживаясь соглашения об именах. Например, если вы полностью ограничиваете символы нижнего регистра и всегда разделяете слова с помощью дефисов или подчеркиваний (но не на обоих, выберите один и никогда не используйте другой), тогда у вас есть простой для запоминания шаблон. Вы никогда не будете удивляться: «это было firstName или FirstName ?» потому что вы всегда будете знать, что вы должны ввести first_name . Предпочитаете верблюд? Затем ограничьте себя этим, без дефиса или подчеркивания, и всегда, последовательно используйте либо верхний регистр, либо нижний регистр для первого символа, не смешивайте их.

    В настоящее время очень неясная проблема заключалась в том, что по крайней мере один браузер Netscape 6 неправильно учитывал значения атрибутов id как чувствительные к регистру . Это означало, что если бы вы набрали id="firstName" в вашем HTML (нижний регистр «f») и #FirstName { color: red } в вашем CSS (верхний регистр «F»), этот багги-браузер не смог бы установите цвет элемента на красный. Во время этого редактирования, апрель 2015 года, я надеюсь, что вас не попросят поддержать Netscape 6. Рассмотрим эту историческую сноску.

    Общей ошибкой является использование идентификатора, начинающегося с цифры.

    jQuery обрабатывает любое действительное имя идентификатора. Вам просто нужно избежать метасимволов (например, точек, точек с запятой, квадратных скобок...). Это похоже на то, что JavaScript имеет проблемы с кавычками только потому, что вы не можете писать

    Var name = "O"Hara";

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

    В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторах) могут содержать только символы и символы ISO 10646 U + 00A0 и выше, плюс дефис (-) и подчеркивание (_); они не могут начинаться с цифры, двух дефисов или дефисов, за которыми следует цифра .

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

    Атрибут id указывает уникальный идентификатор его элемента (ID).

    Значение должно быть уникальным среди всех идентификаторов в домашнем поддереве элемента и должно содержать как минимум один символ. Значение не должно содержать пробелов.

    Примечание. Нет никаких других ограничений на то, какую форму может принимать идентификатор; в частности, идентификаторы могут состоять только из цифр, начинаться с цифры, начинаться с подчеркивания, состоять только из знаков пунктуации и т. д.

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

    Классы, назначенные ему элементом HTML, состоят из всех возвращаемых классов, когда значение атрибута класса разбивается на пробелы. (Дубликаты игнорируются.)

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

    Уникальный идентификатор элемента.

    В документе не должно быть нескольких элементов с одинаковым значением id.

    Любая строка со следующими ограничениями:

  • должен иметь длину не менее одного символа
    • U + 0020 ПРОСТРАНСТВО
    • U + 0009 ХАРАКТЕРНАЯ ТАБУЛЯЦИЯ (вкладка)
    • U + 000A LINE FEED (LF)
    • U + 000C FEED FEED (FF)
    • U + 000D ВОЗВРАТ ПЕРЕВОЗКИ (CR)
  • Использование символов, кроме ASCII letters and digits, "_", "-" and "." могут вызвать проблемы совместимости, поскольку они не разрешались в HTML 4 . Хотя это ограничение было отменено в HTML 5 , идентификатор должен начинаться с буквы для совместимости.

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

    Все a, b, c ... x, y, z, A, B, C ... X, Y, Z, 0,1,2 ... 7,8,9, -, _ могут использоваться для id, но вы не должны использовать цифру и - как первый символ.

    это неправильно:

    1adfsvsdf // use number in first -adfasdf // use - in first afd"ksdf // use " in characters asdf;asdf // use ; in characters

  • Идентификаторы лучше всего подходят для обозначения частей вашего макета, поэтому не следует указывать одинаковое имя для идентификатора и класса
  • ID позволяет использовать буквенно-цифровые и специальные символы
  • но избегайте использования # : . * ! # : . * ! символы
  • недопустимые пробелы
  • не начинается с цифр или дефиса, за которым следует цифра
  • с учетом регистра
  • использование селекторов ID быстрее, чем использование селекторов классов
  • использовать дефис «-» (подчеркивание «_» также может использовать, но не полезно для seo) для длинных имен классов CSS или Id
  • Если правило имеет селектор идентификаторов в качестве его селектора ключей, не добавляйте в это правило имя тега. Так как идентификаторы уникальны, добавление имени тега будет бесполезно замедлять процесс сопоставления.
  • В HTML5 атрибут id может использоваться для любого элемента HTML, а в HTML 4.01 атрибут id не может использоваться с: , , , , , , , and .
  • Кроме того, никогда не забывайте, что идентификатор уникален. После использования значение идентификатора может не отображаться в любом месте документа.

    У вас может быть много идентификаторов, но все они должны иметь уникальное значение.

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

    Из спецификации HTML 4 ...

    Идентификаторы ID и NAME должны начинаться с буквы (), за которой может следовать любое количество букв, цифр (), дефис («-»), подчеркивание («_») , colons (":") и периоды (".").

    РЕДАКТИРОВАТЬ: d"oh! Сбейте кнопку, снова!

    Вы можете технически использовать двоеточия и периоды в атрибутах id / name, но я бы настоятельно рекомендовал избежать обоих.

    В CSS (и нескольких JavaScript-библиотеках, таких как jQuery), как период, так и двоеточие имеют особое значение, и вы столкнетесь с проблемами, если не будете осторожны. Периоды - это селекторы классов, а двоеточия - псевдоселектора (например, «: hover» для элемента, когда мышь над ним).

    Если вы укажете элементу идентификатор «my.cool:thing», ваш селектор CSS будет выглядеть следующим образом:

    #my.cool:thing { ... /* some rules */ ... }

    На самом деле это говорит: «Элемент с идентификатором« мой », класс« классный »и« псевдоселектор »в« CSS ».

    Придерживайтесь AZ любого случая, цифр, подчеркиваний и дефис. И, как сказано выше, убедитесь, что ваши идентификаторы уникальны.

    Это должно быть вашей первой заботой.

    Если вы используете Bootstrap и не можете получить эту работу, возможно, вы упустили тот факт, что Bootstrap сам добавляет эти селекторы. Это Bootstrap v3.3, о котором мы говорим.

    Если вы пытаетесь изменить местозаполнитель внутри CSS-класса .form-control, тогда вы должны переопределить его следующим образом:

    Form-control::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: #777; } .form-control:-moz-placeholder { /* Mozilla Firefox 4 to 18 */ color: #777; opacity: 1; } .form-control::-moz-placeholder { /* Mozilla Firefox 19+ */ color: #777; opacity: 1; } .form-control:-ms-input-placeholder { /* Internet Explorer 10-11 */ color: #777; }

    Атрибут id

    Атрибут id применяется для указания идентификатора HTML-элемента - уникального имени, которое в дальнейшем может быть использовано для изменения стилей данного элемента (через CSS) или в качестве закладки (якоря). Затем к якорю можно будет переходить с помощью ссылки, созданной тегом .

    Атрибут id появился в HTML довольно давно (с появлением CSS), но раньше он поддерживался ограниченным количеством тегов, а теперь он есть у всех. Поэтому, если на страницах описания каких-то тегов вы увидите логотип HTML 5 () напротив атрибута, то знайте, что этот тег начал поддерживать атрибут id именно с версии HTML 5. Впрочем, таких тегов очень мало.

    Значения

    Значением атрибута id является любое слово состоящее из букв латинского алфавита (a-z, A-Z), цифр (0-9), символов дефиса (-) и подчеркивания (_), но при этом оно не может начинаться с цифры или дефиса, после которого идет цифра.

    Значение по умолчанию: нет.

    На одной HTML-странице не может быть двух и более идентификаторов с одинаковым именем, но при этом надо учитывать, что, например id= "block" и id= "Block" - это разные идентификаторы, так как регистр символов также имеет значение.

    Синтаксис ... ... ...

    Обязательный атрибут: нет.

    Пример HTML: применение атрибута id

    seodon.ru - атрибут id #telo { background: #CCFFCC; /* цвет фона страницы */ } #content { font-weight: bold; /* жирный шрифт элементов внутри id="content" */ } #content p { border: 2px #7C7CAF solid; /* стили рамки вокруг параграфа */ padding: 5px; /* внутренние отступы */ }

    Чаще всего атрибут id используют для обозначения основных элементов разметки сайта, таких как верхняя часть страницы (header), нижняя (футер), зона основного содержимого и т.д. В этом случае, используя составные селекторы CSS, например, селекторы потомков, можно осуществлять более гибкие изменения внешнего вида страниц без правки самого HTML-кода.

    22 ответов

    В качестве чисто практического вопроса вы можете избегать определенных персонажей. Точки, двоеточия и "#" имеют особое значение в селекторах CSS, поэтому вам придется экранировать эти символы, используя обратную косую черту в CSS или двойную обратную косую черту в строке селектора, передаваемой в jQuery . Подумайте о том, как часто вам придется избегать символа в таблицах стилей или коде, прежде чем сходить с ума от точек и двоеточий в идентификаторах.

    Например, HTML-объявление допустимо. Вы можете выбрать этот элемент в CSS как #first\.name и в jQuery следующим образом: $("#first\\.name"). #first\.name $("#first\\.name"). Но если вы забудете обратную косую черту, $("#first.name") , у вас будет совершенно корректный селектор, который first ищет элемент с идентификатором, а также name класса. Это ошибка, которую легко не заметить. Вы могли бы быть счастливее в долгосрочной перспективе выборе идентификатора first-name (дефис, а не период), вместо этого.

    Вы можете упростить задачи разработки, строго придерживаясь соглашения об именах. Например, если вы ограничиваете себя полностью строчными буквами и всегда разделяете слова либо дефисами, либо подчеркиванием (но не обоими, выбираете одно и никогда не используете другое), тогда у вас есть легко запоминающийся шаблон. Вы никогда не задаетесь вопросом "было ли это firstName или FirstName ?" потому что вы всегда будете знать, что вы должны ввести first_name . Предпочитаете случай верблюда? Затем ограничьте себя этим, без дефисов и подчеркиваний, и всегда, последовательно используйте прописные или строчные буквы для первого символа, не смешивайте их.

    Теперь очень непонятная проблема заключалась в том, что по крайней мере один браузер, Netscape 6, неправильно обрабатывал значения атрибутов id как регистрозависимые . Это означало, что если бы вы ввели id="firstName" в HTML (#FirstName { color: red } "f") и #FirstName { color: red } в CSS (#FirstName { color: red } "F"), этот браузер с ошибками не смог бы установите цвет элемента на красный. Во время этого редактирования, апрель 2015 года, я надеюсь, что вас не просят поддержать Netscape 6. Считайте, что это историческая сноска.

    Общей ошибкой является использование идентификатора, начинающегося с цифры.

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

    В CSS (и нескольких библиотеках JavaScript, таких как jQuery), и период, и двоеточие имеют особое значение, и вы столкнетесь с проблемами, если не будете осторожны. Периоды являются селекторами классов, а двоеточия - псевдоселекторами (например, ": hover" для элемента, когда мышь над ним).

    Если вы укажете элементу идентификатор "my.cool:thing", ваш селектор CSS будет выглядеть следующим образом:

    #my.cool:thing { ... /* some rules */ ... }

    Что действительно говорит: "Элемент с идентификатором" мой ", класс" классный "и" псевдо-селектор "в CSS-говорят.

    Придерживайтесь A-Z любого случая, цифр, подчеркиваний и дефис. И, как сказано выше, убедитесь, что ваши идентификаторы уникальны.

    Это должно быть вашей первой заботой.

    jQuery выполняет обработку любого действительного имени идентификатора. Вам просто нужно избежать метасимволов (т.е. Точек, точек с запятой, квадратных скобок...). Это похоже на то, что JavaScript имеет проблемы с кавычками только потому, что вы не можете писать

    Var name = "O"Hara";

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

    • значение должно содержать хотя бы один символ (может быть пустым)
    • он не может содержать пробельные символы.
    PRE-HTML5:

    Идентификатор должен соответствовать:

    [-A-Za-z0-9_:.]*

    • Начните с символов A-Z или a-z
    • Может содержать - (дефис), _ (подчеркивание), : (двоеточие) и. (период)

    но следует избегать: и. beacause:

    Например, идентификатор может быть помечен как "ab: c" и указан в таблице стилей как #ab: c, но также как идентификатор элемента, он может означать идентификатор "a", класс "b", псевдоселектор "c". Лучше избегать путаницы и избегать использования. и: вообще.

    Как и в случае с HTML5, единственными ограничениями на значение идентификатора являются:

    • должен быть уникальным в документе
    • не должен содержать пробелов
    • должен содержать хотя бы один символ

    Аналогичные правила применимы к классам (за исключением уникальности, конечно).

    Таким образом, это может быть все цифры, всего одна цифра, только знаки пунктуации, включают специальные символы, что угодно. Просто нет пробелов. Это сильно отличается от HTML4.

    В HTML 4 значения идентификатора должны начинаться с буквы, которая затем может следовать только буквами, цифрами, дефисами, символами подчеркивания, двоеточиями и периодами.

    В HTML5 они действительны:

    ... ... ... ... ... ... ... ...

    Просто имейте в виду, что использование чисел, знаков препинания или специальных символов в значении идентификатора может вызвать проблемы в других контекстах (например, CSS, JavaScript, регулярное выражение).

    Например, в HTML5 допустим следующий идентификатор:

    ...

    Однако это недействительно в CSS:

    Из спецификации CSS2.1:

    В CSS идентификаторы (включая имена элементов, классы и идентификаторы в селекторы) могут содержать только символы и ISO 10646 символы U + 00A0 и выше, плюс дефис (-) и символ подчеркивания (_); они не могут начинаться с цифры, двух дефисов или дефисов затем цифра .

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

    Атрибут id указывает свой уникальный идентификатор элемента (ID).

    Значение должно быть уникальным среди всех идентификаторов в элементе home поддерево и должно содержать хотя бы один символ. Значение не должно содержат любые пробельные символы.

    Примечание. Нет никаких других ограничений на то, какую форму может принимать идентификатор; в в частности, идентификаторы могут состоять из простых цифр, начинаться с цифры, начинать с подчеркиванием, состоят только из знаков пунктуации и т.д.

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

    Классы, назначенные ему элементом HTML, состоят из всех классы возвращаются, когда значение атрибута класса разделяется на пространства. (Дубликаты игнорируются.)

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

    Символы, подчеркивания, периоды, двоеточия, числа и буквы действительны для использования с CSS и JQuery. Следующее должно работать, но оно должно быть уникальным на всей странице, а также должно начинаться с буквы .

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

    Cake #i\.Really\.Like\.Cake { color: green; } #i\:Really\:Like\:Cake { color: blue; } Cake Cake $(function() { var testPeriod = $("#i\\.Really\\.Like\\.Cake"); $("#testResultPeriod").html("found " + testPeriod.length + " result."); var testColon = $("#i\\:Really\\:Like\\:Cake"); $("#testResultColon").html("found " + testColon.length + " result."); });

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

    Правила содержимого ID в HTML5 (кроме уникальности):

    This attribute value must not contain white spaces. [...] Though this restriction has been lifted in HTML 5, an ID should start with a letter for compatibility.

    Это W3 спецификация ID (от MDN):

    Any string, with the following restrictions: must be at least one character long must not contain any space characters Previous versions of HTML placed greater restrictions on the content of ID values (for example, they did not permit ID values to begin with a number).

    Чтобы ссылаться на id с периодом в нем, вам нужно использовать обратную косую черту. Не уверен, что это то же самое для дефиса или подчеркивания. Например: HTML

    ############0218

    #maintenance\.instrumentNumber{word-wrap:break-word;}

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

    У вас может быть много идентификаторов, но все они должны иметь уникальное значение.

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

    Из спецификации HTML 4...

    Идентификаторы ID и NAME должны начинаться с буквы (), за которой может следовать любое количество букв, цифр (), дефис ("-"), подчеркивание ("_"), двоеточие (":") и периоды (".").

    EDIT: d"oh! Снова побегите к кнопке!

    Уникальный идентификатор элемента.

    В документе не должно быть нескольких элементов с одинаковым значением id.

    Любая строка со следующими ограничениями:

    • должен иметь длину не менее одного символа
      • U + 0020 SPACE
      • U + 0009 ХАРАКТЕРНАЯ ТАБУЛЯЦИЯ (вкладка)
      • U + 000A LINE FEED (LF)
      • U + 000C FORM FEED (FF)
      • U + 000D CARRIAGE RETURN (CR)

    Использование символов, кроме ASCII letters and digits, "_", "-" and "." , может вызвать проблемы совместимости, поскольку они не разрешены в HTML 4 . Хотя это ограничение было отменено в HTML 5 , идентификатор должен начинаться с буквы для совместимости.

    ОфициальныйсайтЕИС Планы закупок (44-ФЗ) — Исправлена ошибка, в результате которой при просмотре сведений позиции плана закупки на вкладке «Общие сведения позиции» в поле «Код вида расходов» могло отображаться значение «Закупка за счет нескольких КВР», если при создании позиции не был установлен признак «Закупка за счет нескольких КВР». — Исправлена ошибка, в результате которой при просмотре сведений плана-графика на вкладке «Позиции плана-графика» в таблице списка позиций в столбце «Сведения о контракте» мог отображаться неверный статус контракта. — Исправлена ошибка, в результате которой при выполнении расширенного поиска по нескольким субъектам РФ Заказчика могли отображаться результаты поиска только для первого указанного субъекта.

    Форум института госзакупок (москва)

    Такая информация включается заказчиками в реестр контрактов в случае заключения контракта на условиях обязательного привлечения поставщиками (подрядчиками, исполнителями) к исполнению такого контракта субподрядчиков, соисполнителей из числа СМП и СОНКО. В этом случае в реестре контрактов должна быть размещена следующая информация о договорах поставщиков (подрядчиков, исполнителей) с соисполнителями, субподрядчиками из числа СМП и СОНКО:- наименование, фирменное наименование (при наличии) субподрядчика, соисполнителя;- место нахождения субподрядчика, соисполнителя;- ИНН субпорядчика, соисполнителя;- предмет и цена договора;- дата заключения и номер контракта (при наличии).
    С 20 ноября обеспечена возможность размещения вышеуказанной информации в реестре контрактов ЕИС в структурированном виде. 3.

    Еис: информация об обновлении версии программного обеспечения.

    Внимание

    Исправлена ошибка, в результате которой просмотре печатной формы у исполнения контракта с лекарственными препаратами могло быть неверно заполнено поле «Количество поставленных товаров, выполненных работ, оказанных услуг». Исправлена ошибка, в результате которой у некоторых пользователей при формировании сведений о БО, выбора значения ФАИП в окне «Код объекта ФАИП», направлении в Федеральное Казначейство, могло происходить некорректное формирование печатной формы и xml-пакета в части наименования объекта ФАИП.


    Исправлена ошибка, в результате которой у некоторых пользователей при отправке изменений плана-графика, при загрузке позиций плана-графика мог некорректно срабатывать автоматический контроль плана-графика: «Позиция «