html - div 链接内的链接

标签 html hyperlink

<分区>

我想要一个包含图像和一些文本的 div 作为链接。这样就可以单击 div 中的任何位置(不一定是图像或文本)并将其带到一个位置。但是,我还希望在文本末尾有另一个链接,将用户带到另一个位置。但是,一旦我添加了第二个链接,整个 div 就不再是一个链接,只有图像和文本才是链接。我想做的事可行吗?

最佳答案

这在 HTML 中是不可能的,因为 a a 中的元素元素是不允许的。根据现有的 HTML 规范,您不能有例如 div里面a要么,但是这个限制从来没有真正被浏览器强制执行,它已经在 HTML5 草案中被取消了。嵌套 a元素是一个不同的问题,因为它会在事件中创建事件区域,并且需要定义其含义并且会造成混淆。

实际使用时会发生什么

<a href=foo>bla bla <a href=bar>inner link</a> stuff</a>

除了外部 a 的内容外,它是否按照您想要的方式工作?内部元素之后 a元素根本不是链接。显然浏览器不准备处理这样的结构。实际上,它们意味着结束 </a>当他们遇到 <a> 时标记当 a 时标记元素是开放的。就像他们为 p 做的一样元素。

因此链接末尾的内部链接可以起到一定的作用。当然不能保证它在未来版本的浏览器中继续工作,或者它在所有浏览器上工作。

您可以使用两个独立的、非嵌套的 a元素并使用 CSS 定位将第二个元素可视化地放置在第一个元素内。但这会变得有些复杂。一种更简单的方法是设置 JavaScript 伪链接:

<span onclick="document.location.href = 'foo'; return false">inner link</span>

缺点是当 JavaScript 被禁用时,它不会以类似链接的方式运行,搜索引擎也不会将其视为链接。

关于html - div 链接内的链接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13437785/

相关文章:

javascript - Android 喜欢状态栏吗?

javascript - 更改页面在 jQuery Mobile 中不起作用

c++ - Visual Studio中/GL和/LTCG有什么区别

c++ - 为什么在实现链接列表时 "delete at head"不能正常工作?

java - 如何将图像嵌入到模板 HTML Velocity 中?

javascript - 在 Web 应用程序 (ASP.NET 2.0) 中显示更多按钮的工具栏

html - div在底部中心没有滚动

jquery - 使用 jQuery 将事件绑定(bind)到动态创建的元素时出现问题

html - 如何将自定义参数传递给 Facebook 分享链接

css - 链接效果的反向过渡