html 요소에 여러 개의 ID가있을 수 있습니까?
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 문서를 미디어 유형 text / html로 제공 할 때 이러한 앵커가 이전 버전과 호환되는지 확인하는 방법에 대한 자세한 내용은 HTML 호환성 지침을 참조하십시오.
다른 사람들의 말과 달리 정답은 예입니다.
사양 선택기 이것에 대해 매우 분명하다 :
요소에 여러 개의 ID 속성이있는 경우 모든 요소는 ID 선택기의 목적을 위해 해당 요소의 ID로 처리되어야합니다. 이러한 상황은 xml : id, DOM3 Core, XML DTD 및 네임 스페이스 별 혼합을 사용하여 도달 할 수 있습니다. 지식.
편집하다
명확히하기 위해 : 예, XHTML 요소는 여러 개의 id를 가질 수 있습니다.
<p id="foo" xml:id="bar">
그러나 id
공백으로 구분 된 목록을 사용하여 동일한 속성에 여러 ID를 할당 할 수 없습니다.
나의 이해는 항상 다음과 같습니다.
ID는 일회용 이며 하나의 요소에만 적용됩니다 ...
- 각각은 하나의 단일 요소에 대한 유일한 식별자로 간주됩니다 .
수업은 두 번 이상 사용할 수 있습니다 ...
- 그러므로 그것들은 하나 이상의 요소에 적용될 수 있으며, 유사하지만 다른 요소마다 하나 이상의 클래스 (즉, 여러 클래스) 가있을 수 있습니다 .
아니요. HTML 4에 대한 w3c 의 정의가 귀하의 질문을 명시 적으로 다루지 않는 것 같지만 name 및 id 속성 의 정의 는 식별자에 공백이 없다고 말합니다.
ID 및 NAME 토큰은 문자 ([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">
완벽하게 합법적입니다.
해당 경로를 따라 가려면 중첩 된 DIV를 사용해야합니다. 또한 가능하다면 document.getElementByID ()를 실행할 때 발생할 수있는 혼란을 상상해보십시오. ID가 여러 개인 경우 어떤 ID를 가져 옵니까?
약간 관련된 주제에서 DIV에 여러 클래스 를 추가 할 수 있습니다 . 에서 Eric Myers 토론을보십시오.
http://meyerweb.com/eric/articles/webrev/199802a.html
단일 태그에 대해 여러 개의 ID를 가질 수는 없지만 일부 응용 프로그램에서 동일하게 취급되는 name
속성과 id
속성을 가진 태그를 보았습니다 .
http://www.w3.org/TR/REC-html40/struct/global.html#h-7.5.2
id 속성 은 요소에 고유 식별자를 할당합니다 (SGML 파서에서 확인할 수 있음).
과
ID 및 NAME 토큰은 문자 ([A-Za-z])로 시작해야하며 문자, 숫자 ([0-9]), 하이픈 ( "-"), 밑줄 ( "_") 뒤에 올 수 있습니다. , 콜론 ( ":") 및 마침표 ( ".")
따라서 "id"는 고유해야하며 공백을 포함 할 수 없습니다.
아니.
그렇게 말하면서, 당신이 그 일을 멈추게 할 것이 없습니다. 그러나 다양한 브라우저에서 일관되지 않은 동작이 발생합니다. 하지마 요소 당 1 개의 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를 가진 다른 요소와 교차하기 때문에 중첩 된 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"
<-해당 VaLuE 에서 공백 문자를 찾으십시오 .
즉, 여러 ID를 스타일 지정할 수 있습니다 . 그러나 사양을 따르는 경우 대답은 '아니요'입니다.
나는 당신이 두 개의 ID를 가질 수 있다고 생각하지 않지만 가능해야합니다. 동일한 여권을 사용하는 두 사람과 같은 동일한 ID를 두 번 사용하는 것은 다른 경우입니다. 그러나 한 사람이 여러 개의 여권을 가질 수 있습니다. 한 명의 직원이 여러 기능을 수행 할 수있는 상황이 있기 때문에 이것을 찾고있었습니다. id = "sysadm teamcoordinator"가있는 "sysadm"과 "team coordinator"라고하면 다른 페이지에서 해당 항목을 참조 할 수있게해서 employee.html # sysadm과 employee.html # teamcoordinator가 같은 장소로 연결될 수 있습니다. 그렇지 않으면 sysadm이 sysadm으로 남아있는 동안 팀 코디네이터 기능을 대신 할 수 있습니다 ... 그런 다음 직원 .html 페이지의 ID 만 변경하면됩니다 ...하지만 내가 말한 것처럼 작동하지 않습니다 :(
참고 URL : https://stackoverflow.com/questions/192048/can-an-html-element-have-multiple-ids
'Programing' 카테고리의 다른 글
Windows의 Node.js에서 hello.js 파일을 실행하는 방법은 무엇입니까? (0) | 2020.03.19 |
---|---|
위도 및 경도 데이터를 SQL 데이터베이스에 저장할 때 어떤 데이터 유형을 사용해야합니까? (0) | 2020.03.19 |
Haskell / GHC의`forall` 키워드는 무엇을합니까? (0) | 2020.03.19 |
인수가없는 Python Argparse 명령 행 플래그 (0) | 2020.03.19 |
Visual Studio에서 Rebuild와 Clean + Build의 차이점 (0) | 2020.03.19 |