是否使用javascript链接<div>?</div>

时间:2011-02-15 23:16:06

标签: javascript html css

我想要链接整个<div>,但CSS2不支持将div添加到div(或者跨度)。我的解决方案是使用onClick属性添加链接。这对现代浏览器来说是否可以接受?

示例代码:

<div class="frommage_box" id="about_frommage" onclick="location.href='#';">
            <div class="frommage_textbox" id="ft_1"><p>who is Hawk Design?</p></div>

我的测试页面位于http://www.designbyhawk.com/pixel。每日更新。

感谢您的帮助。

6 个答案:

答案 0 :(得分:14)

你不需要这样做。这是一种完全简单且符合标准的方法。

默认情况下,块级元素会占用整个可用宽度。默认情况下,a元素不是块级别的,但您可以使用CSS中的display: block来实现这些元素。

请参阅this example(无Javascript!)。您可以单击div中的任意位置来访问该链接,即使链接文本不占用整个宽度。您只需删除该p元素并将其设为a

答案 1 :(得分:1)

将点击事件处理程序附加到<div>元素将对启用了JavaScript的用户有效。

但是,如果您正在寻找渐进增强解决方案,那么您需要坚持使用<a>元素。

答案 2 :(得分:1)

这是可以接受的,只是它对SEO不好。

也许你可以让<a>元素像div一样行事? (设置它的样式:块等。)

答案 3 :(得分:0)

它适用于所有浏览器(甚至是IE6)。唯一的问题是搜索引擎可能无法获取它,因为它是javascript。我认为没有其他方法可以使整个div可点击。在其周围加上“a”标签不适用于所有浏览器。

答案 4 :(得分:0)

HTML:

<div class='frommage_box'>
    <a href='location.html'>CONTENT GOES HERE</a>
</div>

CSS:

.frommage_box a{
    display:block;
    height:100%;
}

默认情况下,块元素占用100%的宽度。我们将高度调整为100%。这将允许蜘蛛爬行yoru页面。

答案 5 :(得分:0)

如果你想要实现的只是一个大的可点击框,请尝试在锚点上设置以下CSS:

a {
   display: block;
   padding: 10px;
   width: 200px;
   height: 50px;
}