Может ли элемент html иметь несколько идентификаторов? - PullRequest
283 голосов
/ 10 октября 2008

Я понимаю, что идентификатор должен быть уникальным на странице HTML / XHTML.

Мой вопрос, для данного элемента, могу ли я присвоить ему несколько идентификаторов?

<div id="nested_element_123 task_123"></div>

Я понимаю, что у меня есть простое решение с простым использованием класса. Мне просто интересно использовать идентификаторы таким образом.

Ответы [ 17 ]

0 голосов
/ 01 марта 2014

классы специально созданы для этого, вот код, из которого вы можете понять

<html>
<head>
    <style type="text/css">
     .personal{
            height:100px;
            width: 100px;   

        }
    .fam{
            border: 2px solid #ccc;
        }   
    .x{
            background-color:#ccc;
        }   

    </style>
</head>
<body>

    <div class="personal fam x"></div>

</body> 
</html>
0 голосов
/ 18 апреля 2012

С технической точки зрения я бы хотел сказать «да», поскольку на самом деле то, что отображается, технически всегда зависит от браузера. Большинство браузеров стараются соблюдать спецификации как можно лучше, и, насколько я знаю, в спецификациях CSS нет ничего против этого. Я собираюсь поручиться только за фактический код HTML, CSS, JavaScript, который отправляется в браузер до того, как в него вступят другие интерпретаторы.

Однако я также говорю нет, так как каждый браузер, на котором я обычно тестирую, на самом деле не позволяет вам. Если вам нужно убедиться в этом, сохраните следующее в виде файла .html и откройте его в основных браузерах. Во всех браузерах, которые я тестировал на javascript, функция не будет соответствовать элементу. Тем не менее, удалите "hunkojunk" из тега id, и все работает нормально. Пример кода

<html>
<head>
</head>
<body>
    <p id="hunkojunk1 hunkojunk2"></p>

<script type="text/javascript">
    document.getElementById('hunkojunk2').innerHTML = "JUNK JUNK JUNK JUNK JUNK JUNK";
</script>
</body>
</html>
0 голосов
/ 13 сентября 2010

Я не думаю, что у вас может быть два идентификатора, но это должно быть возможно. Использование одного и того же идентификатора дважды - это другой случай ... как два человека, использующие один и тот же паспорт. Однако у одного человека может быть несколько паспортов ... Я искал это, поскольку у меня есть ситуация, когда у одного сотрудника может быть несколько функций. Скажем, «sysadm» и «координатор команды», имеющие id = «sysadm teamcoordinator», позволили бы мне ссылаться на них с других страниц, так чтобы employee.html # sysadm и employee.html # teamcoordinator могли привести к тому же месту ... иначе может взять на себя функцию координатора команды, в то время как sysadm остается sysadm ... тогда мне нужно только изменить идентификаторы на странице employee.html ... но, как я уже сказал - это не работает: (

0 голосов
/ 16 декабря 2017

Най.

https://www.w3.org/TR/2011/WD-html5-20110525/elements.html#the-id-attribute

Значение не должно содержать пробелов.

id="a b" <- найти пробел в этом <strong> VaLuE .

Тем не менее, вы можете стиль нескольких идентификаторов. Но если вы следуете спецификации, ответ - нет.

0 голосов
/ 20 апреля 2010

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

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

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

0 голосов
/ 30 октября 2018
Any ID assigned to a div element is unique.
However, you can assign multiple IDs "under", and not "to" a div element.
In that case, you have to represent those IDs as <span></span> IDs.

Say, you want two links in the same HTML page to point to the same div element in  the page.

The two different links
<p><a href="#exponentialEquationsCalculator">Exponential Equations</a></p>         

<p><a href="#logarithmicExpressionsCalculator"><Logarithmic Expressions</a></p>

Point to the same section of the page. 
<!-- Exponential / Logarithmic Equations Calculator -->
<div class="w3-container w3-card white w3-margin-bottom">      
   <span id="exponentialEquationsCalculator"></span>
   <span id="logarithmicEquationsCalculator"></span>
</div>
0 голосов
/ 10 октября 2008

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

...