1

为了快速编码和减少乏味,我想知道是否可以在不使用 JavaScript的情况下自动生成 HTML 锚的内容作为其href值。我将在其中使用它的应用程序具有足够大的页面,以便 JavaScript 解决方案引入显着滞后。

例子:

<a href="http://example.com" class="autofill"></a>

这可能吗?是否符合 W3C 标准?为什么或者为什么不?

4

1 回答 1

2

是的,在一定程度上。您可以使用 CSS2content属性及其attr值来获取锚点href属性的值。例如:

<style>
.autofill:after {
  content: attr(href);
}
</style>

<a href="http://example.com" class="autofill"></a>

http://jsfiddle.net/aA4Em/2/

不能保证跨浏览器工作!例如,在当前版本的 WebKit(Safari、Chrome、Yandex、Rockmelt、许多移动浏览器等)中,会呈现链接文本,但无法单击。也就是说,它可以在当前最常用的 Presto(Opera,即将被 WebKit 取代)、Trident(Internet Explorer)和 Gecko(Firefox、Waterfox 等)版本中正常工作。

请注意,我不知道这是否符合 W3C(我什至不知道空锚是否符合 W3C),所以我的回答肯定是使用此解决方案,风险自负

更新


截至本次编辑 (2013-04-30),Google 的Chromium平台风格的 Webkit(Chrome、Yandex、Rockmelt、许多移动浏览器等)和 Blink(目前只是 Chrome Canary)现在允许用户单击锚点伪元素。仍然运行在 Apple 风格的 WebKit 上的 Safari 仍然不允许这样做。

于 2013-03-28T17:32:30.497 回答