Html 如何将div标记转换为链接
如何将div标记转换为链接。我希望我的整个div都可以点击。Html 如何将div标记转换为链接,html,anchor,javascript,Html,Anchor,Javascript,如何将div标记转换为链接。我希望我的整个div都可以点击。Foo <div style="cursor:pointer;" onclick="document.location='http://www.google.com'">Foo</div> JS: 确保对这些DIV使用cursor:pointer您可以通过添加onclick=“window.location='TARGET URL'”并将其样式设置为“cursor:pointer”,使整个DIV功能成为链接。但
Foo
<div style="cursor:pointer;" onclick="document.location='http://www.google.com'">Foo</div>
JS:
确保对这些DIV使用
cursor:pointer
您可以通过添加onclick=“window.location='TARGET URL'”并将其样式设置为“cursor:pointer”,使整个DIV功能成为链接。但这样做通常不是个好主意,因为搜索引擎将无法跟踪结果链接,读者将无法在选项卡中打开或复制链接位置,等等。相反,您可以创建一个常规锚定标记,然后将其样式设置为display:block,然后将其样式设置为DIV。内容在这里
<div style="cursor:pointer" onclick="document.location='http://www.google.com'">Content Goes Here</div>
不要这样做。
- 如果需要链接,请将内容包装在适当的
中NCHOR
- 如果要将
转换为链接,请使用“Javascript”将
包装在NCHOR中
- 如果要在单击
时执行某些操作,请使用
事件处理程序。。。不要称之为“链接”onclick
- 您可以使用Javascript来实现此效果。如果你使用一个框架,这类事情就会变得非常简单。以下是中的一个示例:
此解决方案的显著优点是不在标记中保留逻辑。如果必须在div内设置锚定标记,还可以使用CSS通过display:block设置锚定以填充div 因此:
<div style="height: 80px"><a href="#" style="display: block">Text</a></div>
现在,当用户在该div中浮动光标时,锚定标记将填充该div。如果您使用的是HTML5,如前所述,您可以将
div
放在a
中:
<a href="http://www.google.com"><div>Some content here</div></a>
预先输入此方法,因为它在您的结构中清楚地表明,所有内容都是可单击的,以及它指向的位置。所以您希望元素是它不是的东西 一般来说,这不是一个好主意。如果需要链接,请使用链接。大多数情况下,只在它所属的位置使用适当的标记更容易 总而言之,有时候你不得不打破规则。现在,这个问题没有了,所以我要在这里声明: 如果不使用链接(或类似链接,例如只包含提交按钮的
)或使用JavaScript,则不能让
充当链接。
从这里开始,这个答案将假设JavaScript是允许的,而且正在使用jQuery(为了示例的简洁性)
说了这么多,让我们深入了解链接是如何形成的
链接通常是您单击以导航到新文档的元素 这似乎很简单。侦听单击事件并更改位置: 不要这样做
$('.link')。在('click',函数(){
window.location=http://example.com';
});代码>
伪链接
请记住,搜索蜘蛛不会为JS代码编制索引。因此,如果您将URL
放在JS代码中,并确保将其包含在页面其他地方的传统HTML链接中
也就是说,如果你想让链接的页面被谷歌等编入索引。如果我没有错误地理解jQuery示例,HTML的结构必须是这样的:是的,这可能是一种更好的方式。在Firefox3.5和IE8中,我必须在锚标签中添加“height:100%;”才能占据整个DIV高度。对JavaScript解决方案有很大的替代性。这是最简单和最适合搜索引擎优化的答案。看一看,@ Peer-to提供了迄今为止最好的解决方案。考虑向你的答案添加一个解释,以帮助保持学习的资源,而不仅仅是答案。
$('div#id').click(function (e) {
// Do whatever you want
});
<div style="height: 80px"><a href="#" style="display: block">Text</a></div>
<a href="http://www.google.com"><div>Some content here</div></a>