문제

ID는 HTML/XHTML 페이지 내에서 고유해야한다는 것을 이해합니다.

내 질문은 주어진 요소에 대해 여러 ID를 할당 할 수 있습니까?

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

나는 단순히 수업을 사용하는 쉬운 솔루션이 있다는 것을 알고 있습니다. 이런 식으로 ID를 사용하는 것이 궁금합니다.

도움이 되었습니까?

해결책

아니요 XHTML 1.0 사양

XML에서는 단편 식별자가 유형 ID이며 요소 당 유형 ID의 단일 속성 만있을 수 있습니다. 따라서 XHTML 1.0에서 ID 속성은 유형의 ID로 정의됩니다. XHTML 1.0 문서가 잘 구조화 된 XML 문서인지 확인하려면 XHTML 1.0 문서는 위에 나열된 요소의 조각 식별자를 정의 할 때 ID 속성을 사용해야합니다. XHTML 문서를 미디어 유형 텍스트/HTML로 제공 할 때 이러한 앵커가 뒤로 호환되는지 확인하려면 HTML 호환성 가이드 라인을 참조하십시오.

다른 팁

다른 사람들이 말한 것과는 반대로 정답은

그만큼 선택기 사양 이것에 대해 매우 명확합니다.

요소에 여러 ID 속성이있는 경우 ID 선택기의 목적 상 해당 요소의 ID로 처리되어야합니다. 지식.


편집하다

명확히하기 위해 : 예, XHTML 요소는 여러 ID를 가질 수 있습니다.

<p id="foo" xml:id="bar">

그러나 여러 ID를 동일하게 할당합니다 id 공간 분리 목록을 사용하는 속성은 불가능합니다.

내 이해는 항상 다음과 같습니다.

  • 이드입니다 단일 사용 그리고 하나의 요소에만 적용됩니다 ...

    • 각각입니다 하나의 단일 요소에 대한 고유 식별자로 기인.
  • 클래스를 사용할 수 있습니다 두 번 이상...

    • 따라서 그들은 적용 할 수 있습니다 둘 이상의 요소, 그리고 마찬가지로 다르면있을 수 있습니다 요소 당 하나 이상의 클래스 (예 : 다중 클래스).

아니. 동안 W3C의 정의 HTML 4의 경우 귀하의 질문을 명시 적으로 다루지 않는 것 같습니다. 이름과 ID 속성의 정의 식별자에 공간이 없음 :

ID와 이름 토큰은 문자 ([a-za-z])로 시작해야하며, 수많은 문자, 숫자 ([0-9]), 하이픈 ( "-"), 밑줄 ( "_")이 뒤 따릅니다. , 콜론 ( ":") 및 기간 ( ".").

아니요. 모든 DOM 요소에는 ID가있는 경우 하나의 고유 한 ID가 있습니다. 다음과 같은 것을 사용하여 근사화 할 수 있습니다.

<div id='enclosing_id_123'><span id='enclosed_id_123'></span></div>

그런 다음 내비게이션을 사용하여 원하는 것을 얻으십시오.

스타일을 적용하려는 경우 클래스 이름이 더 좋습니다.

요소 당 하나의 ID 만 가질 수 있지만 실제로 둘 이상의 클래스를 가질 수 있습니다. 그러나 여러 클래스 속성이없고 여러 클래스 값을 하나의 속성에 넣으십시오.

<div id="foo" class="bar baz bax">

완벽하게 합법적입니다.

아니요, 그 길을 따라 가려면 중첩 된 divs를 사용해야합니다. 게다가, 당신이 할 수 있더라도 document.getElementByid ()를 실행할 때 발생하는 혼란을 상상해보십시오. 여러 사람이 있다면 어떤 이드를 잡을 건가요?

약간 관련된 주제에서 여러분은 여러 가지를 추가 할 수 있습니다. 클래스 div. Eric Myers 토론을 참조하십시오.

http://meyerweb.com/eric/articles/webrev/199802a.html

아니요 단일 태그에 대해 여러 ID를 가질 수는 없지만 name 속성과 an id 일부 응용 프로그램에 의해 동일하게 처리되는 속성.

http://www.w3.org/tr/rec-html40/struct/global.html#h-7.5.2

ID 속성은 a를 할당합니다 독특한 요소에 대한 식별자 (SGML 파서에 의해 확인 될 수 있음).

그리고

ID와 이름 토큰은 문자 ([a-za-z])로 시작해야하며, 수많은 문자, 숫자 ([0-9]), 하이픈 ( "-"), 밑줄 ( "_")이 뒤 따릅니다. , 콜론 ( ":") 및 기간 ( ".").

따라서 "ID"는 독특해야하며 공간을 포함 할 수 없습니다.

아니.

그렇게 말하면, 당신이 그것을 막을 수있는 것은 없습니다. 그러나 다양한 브라우저에서 일관되지 않은 행동을 취할 수 있습니다. 하지 마십시오. 요소 당 1 ID.

요소 사용 클래스에 여러 할당을 원하는 경우 (공간으로 구분).

흥미 롭지 만 내가 아는 한 답은 확고한 것입니다. 중첩 된 ID가 필요한 이유는 모르겠습니다. 일반적으로 동일한 중첩 된 ID가있는 다른 요소와 교차하기 때문입니다. 당신이 아무런 의미가 없다면, 당신이 할 경우에도 여전히 요점이 거의 없습니다.

나는 이것이 1 살이라는 것을 알고 있지만 나는 이것에 대해 호기심이 많았고 다른 사람들이 여기서 길을 찾을 것이라고 확신합니다. 다른 사람들이 나 앞에서 말한 것처럼 간단한 대답은 아니오입니다. 요소는 둘 이상의 ID를 가질 수 없으며 페이지에서 ID를 두 번 이상 사용할 수 없습니다. 시도해 보면 얼마나 잘 볼 수 있는지 알 수 있습니다 그렇지 않습니다 일하다.

두 개의 다른 요소로 동일한 ID의 사용에 관한 TVANFOSSON의 답변에 반응합니다. 내가 아는 한, ID는 다른 태그에 첨부 여부에 관계없이 페이지에서 한 번만 사용할 수 있습니다.

정의상, ID가 필요한 요소는 고유해야하지만 두 ID가 필요하면 실제로 고유하지 않으며 대신 클래스가 필요합니다.

기술적으로 그렇습니다. 실제로 렌더링되는 것은 기술적으로 항상 브라우저 의존적이기 때문에 그렇습니다. 대부분의 브라우저는 가능한 한 사양을 유지하려고 노력하며 CSS 사양에 아무것도 아는 한 아무것도 아는 한, 이에 대한 내용은 아무것도 없다. 나는 다른 통역사가 들어 오기 전에 브라우저로 전송되는 실제 HTML, CSS, JavaScript 코드에 대해서만 보증 할 것입니다.

그러나 나는 또한 내가 일반적으로 테스트하는 모든 브라우저가 실제로 당신을 허락하지 않기 때문에 거절합니다. 직접 확인 해야하는 경우 다음을 .html 파일로 저장하고 주요 브라우저에서 열어줍니다. 모든 브라우저에서 JavaScript 함수에서 테스트 한 것은 요소와 일치하지 않습니다. 그러나 ID 태그에서 "hunkojunk"를 제거하면 모든 것이 잘 작동합니다. 샘플 코드

<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>

클래스는 특별히이를 위해 만들어졌습니다. 여기에 당신이 이해할 수있는 코드가 있습니다.

<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>

아니.

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

값에는 공간 문자가 포함되어서는 안됩니다.

id="a b" <- 공간 문자를 찾으십시오 .

즉, 당신 ~할 수 있다 스타일 다중 ID. 그러나 사양을 따르는 경우 답은 아니오입니다.

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>

나는 당신이 두 개의 ID를 가질 수 있다고 생각하지 않지만 가능해야합니다. 동일한 ID를 두 번 사용하는 것은 다른 경우입니다 ... 동일한 여권을 사용하는 두 사람과 마찬가지로. 그러나 한 사람이 여러 여권을 가질 수있었습니다 ... 단일 직원이 여러 기능을 할 수있는 상황이 있기 때문에 이것을 찾았습니다. "sysadm"과 "sysadm teamcoordinator"가있는 "sysadm"과 "team cordinator"라고 말하면 다른 페이지에서 그들을 참조하여 직원들에게 참조 할 수 있습니다. html#sysadm and Employe.html#teamcoordinator는 같은 장소로 이어질 수 있습니다 ... 어느 날 누군가가 그렇지 않으면 SysADM이 SysADM으로 남아있는 동안 팀 코디네이터 기능을 인수 할 수 있습니다. 그러면 Employees.html 페이지에서 ID를 변경하면됩니다. 그러나 내가 말했듯이 - 작동하지 않습니다 :(

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top