<a>锚标记的'name'属性是否过时了?

Zac*_*son 13 html tags xhtml visual-studio

Visual Studio不喜欢页面上的锚标记:

验证(XHTML 1.0 Transitional):属性'name'被认为是过时的.建议使用较新的结构.

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>
Run Code Online (Sandbox Code Playgroud)

真的有更现代的方式吗?或者是Visual Studio充满废话?

phi*_*hag 20

您应该使用该id属性.以同样的方式工作,你不需要人工<a name=...>,但简单

<h2 id="one">Section One</h2>
Run Code Online (Sandbox Code Playgroud)


Pau*_*xon 15

XHTML 1.0中不推荐使用名称属性- 您可以以相同的方式使用id属性,请参阅XHTML规范的HTML兼容性指南中的片段标识符.

所以你可以简单地使用

<h2><a id="one">Section One</a></h2>
Run Code Online (Sandbox Code Playgroud)

但请注意,1.0规范建议使用以下方法安全地播放它:

<h2><a name="one" id="one">Section One</a></h2>
Run Code Online (Sandbox Code Playgroud)

但是,您的片段使用XHTML 1.1,其中名称属性已被完全删除amap元素-这样你就可以只用一个id.