<a href>some text</a>
是否是有效的HTML代码?
这一<a href="#">some text</a>
有效。
第一个怎么样?这是一个错字还是允许跳过=""
?
答案 0 :(得分:2)
根据HTML序列化中的HTML5 CR,标记<a href>some text</a>
有效(相当于<a href="">some text</a>
),但不是。
关于HTML序列化的一般HTML5规则(HTML语法)允许empty attribute syntax:“只是属性名称。该值隐含为空字符串。“空字符串是一个有效的URL,引用当前文档。
在XHTML中,<a href>some text</a>
无效,甚至格式不正确,因为格式良好的规则(即一般的XML语法规则)要求属性specicification的格式为name =&#34; value&# 34;或名称=&#39;值&#39;,没有捷径。
在早期的HTML规范中,直到并包括HTML 4.01,<a href>some text</a>
无效,但基于其他原因。根据形式规则,属性值可能永远不会从属性规范中省略,但如果使用枚举值集声明属性,则可省略名称和等号。因此,如果<a href>some text</a>
的属性使用枚举值声明,那么a
将是有效的,因此其中一个属性为href
(并且只有一个此类属性)。但是没有这样的属性。
答案 1 :(得分:1)
这取决于您的doctype。更重要的是,渲染取决于客户端的浏览器实现。 Chrome,FF,IE&gt;等等,这些浏览器都知道你的意思,并且可以很好地拿起它们。
<强> HTML5 强>
<!DOCTYPE html>
验证员说:
有效,但警告:没有看到明确值的属性href。 IE7可以删除该属性。
XHTML1.0严格和 XHTML1.0过渡
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
和
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
验证员说:
无效:&#34; href&#34;不是为任何属性
指定的组的成员
HTML 4.01严格和 HTML 4.01宽松
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"><html>
和
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd"><html>
验证员说:
无效:&#34; HREF&#34;不是为任何属性
指定的组的成员
答案 2 :(得分:0)
不,它无效。使用:
<span class="pseudo-link">Some text</span>
并在CSS中为类pseudo-link
定义样式,使其看起来像普通链接
:hover
选择器对于更改字体颜色非常重要,并且当鼠标悬停在文本上方时会对文本加下划线
然后,您可以使用Javascript为此伪链接定义操作。