我正在浏览一个网站并找到了这行代码:
<div class="section slideshow" id="/featured/">
我之前从未在id标签中看到斜杠,这是编码不好,数据库写出的问题,还是其他什么?
答案 0 :(得分:4)
id
属性中的斜杠不是有效字符:
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 后跟任意数量的字母,数字([0-9]),连字符(“ - ”), 下划线(“_”),冒号(“:”)和句点(“。”)。
答案 1 :(得分:3)
也许直接在网址中使用它和/或使用javascript ...
答案 2 :(得分:2)
也许他将此方法用于插入数据库(在字符串中插入id)或转到网址。
在 html 4.01 中,Slashe不是ID的有效字符,但在 html5 中有效。
适用于html 4.01
ID和NAME令牌必须以字母([A-Za-z])开头,可能是 其次是任何数字 字母,数字([0-9]),连字符(“ - ”),下划线(“_”),冒号(“:”)和句号(“。”)。
参考: What are valid values for the id attribute in HTML?
http://www.w3.org/TR/html5/global-attributes.html#the-id-attribute
答案 3 :(得分:1)
这个过程有很多理由,即使事实证明这并不常见,开发人员可以选择指定这个类和id名称:
也许他使用这种方法来区分相同的Id名称,而不是斜杠,
也许他使用此方法将此id插入
的字符串中也许只是CMS或框架的命名法......
同样的解决方案是联系网站创建者以询问此问题......
但是,如果您想了解更多详情,请访问W3C namming Nomenclature网站...
答案 4 :(得分:0)
我通过电子邮件发送了网站,业主回复了。
该网站是HTML4 / ASPX,并在Javascript调用时使用该斜线变量来显示幻灯片。
他似乎并不关心它无效,但它在所有浏览器中都运行良好。
答案 5 :(得分:-1)
检查下面的程序,id只是引用那个特定的标签,它不一定是特定的格式,
<html>
<head>
<script type="text/javascript">
function displayResult()
{
document.getElementById("/myHeader/").innerHTML="Have a nice day!";
}
</script>
</head>
<body>
<h1 id="/myHeader/">Hello World!</h1>
<button onclick="displayResult()">Change text</button>
</body>
</html>
上述程序将为您提供更好的理解
答案 6 :(得分:-1)
HTML5几乎允许id属性的任何值 - 明智地使用
HTML 4.01对于id属性允许的值非常严格: ID和NAME令牌必须以字母([A-Za-z])开头,后跟任何数字 字母,数字([0-9]),连字符(“ - ”),下划线(“_”),冒号(“:”)和句号(“。”)。
答案 7 :(得分:-1)
元素的属性在元素的开始标记内表示。属性具有名称和值。
同一个开始标记上绝不能有两个或多个属性,这些属性的名称彼此不区分大小写。
以下列表描述了HTML语法中文档中属性的语法规则。 XML语法中文档中属性的语法规则。在XML规范[XML]中定义。
属性名称必须包含除空格字符以外的一个或多个字符,U + 0000 NULL,“”“,”'“,”&gt;“,”/“,”=“,控制字符和任何字符Unicode未定义的字符。 与XML兼容的属性名称是与XML规范[XML]中定义的名称生成匹配且不包含“:”字符的属性名称,其前三个字符不是字符串“xml”的不区分大小写的匹配项。 属性值可以包含文本和字符引用,还有其他限制,具体取决于它们是否为不带引号的属性值,单引号属性值或双引号属性值。此外,此参考的HTML元素部分描述了对特定属性的允许值的进一步限制,并且属性必须具有符合这些限制的值。
有关详细信息,请参阅http://dev.w3.org/html5/markup/syntax.html#syntax-attributes