Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 在页面中,标题中带有空格的锚定_Html_Anchor - Fatal编程技术网

Html 在页面中,标题中带有空格的锚定

Html 在页面中,标题中带有空格的锚定,html,anchor,Html,Anchor,我有一个带有一些标签的页面。请注意,“名称”属性中有一个空格。我想用一个锚,这样我可以跳到标题。我想如果我添加了%20来替换空格,它会起作用,但不会 我目前正忙得不可开交,所以我不想编辑源代码,而是重新部署,每个标题都有一个ID或标题,并带有连字符,而不是空格 <!-- non-working example of what I want --> <a href="mypage.html#Header%20Name" /> <h1 title="Header N

我有一个带有一些标签的页面。请注意,“名称”属性中有一个空格。我想用一个锚,这样我可以跳到标题。我想如果我添加了
%20
来替换空格,它会起作用,但不会

我目前正忙得不可开交,所以我不想编辑源代码,而是重新部署,每个标题都有一个ID或标题,并带有连字符,而不是空格

<!-- non-working example of what I want -->
<a href="mypage.html#Header%20Name" />  
<h1 title="Header Name">Foo</h1>


有什么方法可以做到这一点吗?

锚定指向
name
id
属性。它将找不到您的
标题
属性


使用
应该可以工作,但理想情况下不应该有空格。

锚定标记不是这样工作的。您可以跳转到定位标记的名称或任何元素的id。不幸的是,您永远无法跳转到标题属性。您需要修改html,这是您不想做的,或者包括javascript来完成您所要求的

编辑:标准总是说id属性不能包含空格,包括HTML5,它说:

HTML5摆脱了对id属性的附加限制。这个 除了文档中唯一的需求之外,剩下的需求是 值必须至少包含一个字符(不能为空), 它不能包含任何空格字符


目标锚点应该由
id
属性定义,并且它不能包含空格。(HTML5删除了所有其他约束,但不允许使用空格和空值。较旧的HTML版本限制更大。)因此:

您只能在少数元素上使用
name
属性,而不是在
h1
中,并且只有在
a
元素中,它才具有充当目标定位点的含义

title
属性可以用于任何元素(至少根据HTML5),但它只是一个建议性的标题,与链接无关

构造
表示一个空的
元素,一个可用性噩梦,实际上不起作用(它只是作为元素的开始标记),除非在XHTML中与XML文档类型一起使用,而您很可能没有这样做。因此,除了声明内容为空的元素(如果有的话),不要使用“自动关闭”语法

这是W3C规范

IDNAME标记必须以字母([a-Za-z])开头,后面可以跟任意数量的字母、数字([0-9])、连字符(“-”)、下划线(“")、冒号(:”)和句点(“.”)


没有空格。

哦,天哪,我把
标题
名字
混为一谈了。谢谢你注意到这一点!哦,在现代浏览器中,您可以使用任何元素的id或锚元素的名称。因此,无论是否有空格,都不能通过名称链接到h1。我将更新我的答案。不,它应该不起作用:没有HTML规范允许
id
属性值中有空格。
<h1 id="HeaderName">Foo</h1>
<h1><a name="HeaderName">Foo</a></h1>