은'이름'을 특성으로 간주식에 대한 <a> 태그는 앵커?
-
03-07-2019 - |
문제
Visual Studio 좋아하지 않는 페이지에 앵커 태그:
유효성 검사(XHTML1.0Transitional):특성'이름'으로 간주됩 오래되었습니다.새로운 구조 을 권장합니다.
내가 사용하는 name
특성에서는 이 방법...
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemalocation="http://www.w3.org/MarkUp/SCHEMA/xhtml11.xsd" xml:lang="en">
...
<body>
...
<p>On this page…</p>
<ul>
<li><a href="#one">Section One</a></li>
...
</ul>
...
<h2><a name="one">Section One</a></h2>
...
</body>
</html>
정말 더 이상은 현대적인 방법이었는지 설명하려고 노력합니다.거나 Visual Studio 쓰레기로 가득?
해결책
당신은 사용해야합니다 id
대신 속성. 같은 방식으로 작동하며 인공물이 필요하지 않습니다. <a name=...>
, 그러나 간단히
<h2 id="one">Section One</h2>
다른 팁
이름 속성은 더 이상 사용되지 않습니다 XHTML 1.0 - 동일한 방식으로 ID 속성을 사용할 수 있습니다. 조각 식별자 에서 HTML 호환성 가이드 라인 XHTML 사양의.
따라서 간단히 사용할 수 있습니다
<h2><a id="one">Section One</a></h2>
그러나 1.0 사양은 다음과 같이 안전하게 재생하는 것이 좋습니다.
<h2><a name="one" id="one">Section One</a></h2>
그러나 파편이 사용됩니다 XHTML 1.1, 이름 속성이있는 곳 완전히 제거되었습니다 ~에서 a
그리고 map
요소 - 따라서 ID 만 사용할 수 있습니다.
내가 믿고 현대적인 접근 방식을 사용하는 것입 id
특성하는 것으로 평가할 수 있습니다.는 경우,예를 들어 변경
<h2><a name="one">Section One</a></h2>
하기
<h2><a id="one">Section One</a></h2>
당신은 여전히 주로 page.html#one
.
섹션 헤더에서 링크 할 수도 있습니다.
목차
<P>
<A href="#section1">Introduction</A><BR>
<A href="#section2">Some background</A><BR>
<A href="#section2.1">On a more personal note</A><BR>
...the rest of the table of contents...
...the document body...
<H2 id="section1">Introduction</H2>
...section 1...
<H2 id="section2">Some background</H2>
...section 2...
<H3 id="section2.1">On a more personal note</H3>
...section 2.1...
[...]
</P>
나는 그것을하는 올바른 방법은 믿습니다
예, 구식입니다. "ID"속성으로 교체해야합니다.
W3Schools 인용 페이지 :
"ID 속성은 이름 속성 html 4.01을 대체합니다. 요소 A, 애플릿, 프레임, iframe, img 및 맵의 이름 속성을 정의합니다. XHTML에서 이름 속성이 더 이상 사용되지 않습니다. 대신 ID를 사용하십시오."
이름 = 속성은 형식으로 표시 요소에 대한 것이며u003Cform> 요소 (입력, TextArea, Select 등). 다른 모든 것에 대해 ID =가 사용됩니다. W3C 사람들이 요소를 명명하는 두 가지 다른 방법 (다른 허용 문자 세트가 필요하다고 생각하는 두 가지 다른 방법이 필요하다고 생각하는 이유는 무엇입니까?
하지만 여기는 http://www.w3.org/tr/html4/struct/links.html#h-12.2.3 나는 이것을 읽었습니다. "일부 오래된 사용자 에이전트는 ID 속성으로 생성 된 앵커를 지원하지 않습니다." 그래서?
까지 <a name="..."></a>
더 이상 사용중인 (X) HTML 표준에 의해 더 이상 지원되지 않습니다. name
그리고 id
같은 페이지의 일부에 연결되는 앵커에서. 로부터 W3C의 XHTML 1 사양:
XML에서는 uri-References RFC2396 이는 양식의 조각 식 식별자로 끝납니다
"#foo"
속성이있는 요소를 언급하지 마십시오name="foo"
; 오히려 그들은 유형의 ID로 정의 된 속성을 가진 요소를 참조합니다.id
HTML의 속성 4. 많은 기존 HTML 클라이언트는 이러한 방식으로 ID 유형 속성의 사용을 지원하지 않으므로 이러한 두 속성에 대해 동일한 값이 제공되어 최대의 전진 및 후진 호환성을 보장 할 수 있습니다 (예 :<a id="foo" name="foo">...</a>)
.