HTML代码<a name="some_bookmark">text</a>
对于创建指向网页特定部分的链接非常有用(例如page.html#some_bookmark
)。但是,W3C规范现在将name
标记的a
属性标记为“已过时”。
如果是这种情况,那么首选什么?是否有新的<bookmark>
代码或类似内容?
答案 0 :(得分:26)
您可以在任何元素上放置id=""
属性,它将具有相同的效果。
这些通常放在标题元素上。
答案 1 :(得分:11)
查看HTML5规范。
在Obsolete features您会找到:
作者不应在
name
元素上指定a
属性。
点击name
后,您会找到:
[以下属性已过时(尽管元素仍然是语言的一部分),作者不得使用:]
关于
name
元素的- {li>
a
(除了上一节中所述)name
embed
元素 {li>name
img
元素 {li>name
option
元素→改为使用
id
属性。
点击id
。您会看到id
是global attribute,这意味着它可以在任何元素上使用。
id
属性指定其元素的唯一标识符(ID) [...]
注意:元素的唯一标识符可用于各种目的,最明显的是使用片段标识符链接到文档的特定部分,作为在编写脚本时定位元素的方法,以及作为从CSS设置特定元素的方式。
答案 2 :(得分:3)
您应该使用id=""
属性。 :)
答案 3 :(得分:0)
(注意:从https://webmasters.stackexchange.com/a/30031/10884迁移并进行了简洁编辑。)
如果您需要将用户跳转到页内链接(也称为片段标识符),则可以在id属性(used for more than just frag ids) >任何元素。然后在#
元素的href
属性的网址中使用通常的a
。这是一个例子:
<body>
<p>Despite the many
<a href="#benefits-of-gum-chewing">benefits</a>
you may experience while chewing gum, there are also many drawbacks,
especially with
<a href="http://www.example.org/sugar.html#cons">non-sugarless</a>
gum.</p>
...
<section id="benefits-of-gum-chewing">
<h1>Benefits of Gum Chewing</h1>
...
</section>
</body>
在编写自己的网页时,我希望为每个id
代码(HTML5)提供<section>
,即使我不打算使用它也是如此。 id
的值是其标题内容的URL友好版本。您可以通过将相同的id
分配给<h1>
等来实现相同的效果。
答案 4 :(得分:0)
使用id并不总是理想的,因为它们是唯一的,例如,如果您有一个链接列表作为菜单项,并且当用户将鼠标悬停在菜单上时,您只想对其中的某些脚本执行一些javascript,则使用id是一团糟。
目前我认为最好的方法是使用 class 将它们标识为一个组。所以类似这样:
<a class="mylink">Menu Item one</a>
<a class="mylink">Menu Item two</a>
<a class="mylink">Menu Item three</a>
<a>Menu Item four</a>
但是我一直继续使用name标签,它愚蠢地弃用了这个次要的东西,因为它没有任何性能影响或其他任何影响,如果浏览器决定一时不接受name标签,只会引起问题。它也使我们远离使用标准。