문제

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&hellip;</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>

원천: http://www.w3.org/tr/rec-html40/struct/links.html

나는 그것을하는 올바른 방법은 믿습니다

예, 구식입니다. "ID"속성으로 교체해야합니다.

W3Schools 인용 페이지 :

"ID 속성은 이름 속성 html 4.01을 대체합니다. 요소 A, 애플릿, 프레임, iframe, img 및 맵의 이름 속성을 정의합니다. XHTML에서 이름 속성이 더 이상 사용되지 않습니다. 대신 ID를 사용하십시오."

http://www.w3schools.com/xhtml/xhtml_syntax.asp

이름 = 속성은 형식으로 표시 요소에 대한 것이며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>).

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