[英]div into link or div as href in haml
鉴于这种
<div class='postpreview'>
<a href="/some/image/xyz"><img alt="xyz" src="/some/image/xyz" /></a>
Some content, etc.
<a href='/forums/post/123'>Show</a>
</div>
如何使整个div的“ postpreview”功能链接为“ / forums / post / 123”? 在哈姆尔?
基本上,这是在rails部分内,并且链接被列为link_to等(共另一个问题)。 我可以使以上内容在haml中正常运行,我只是无法将整个div转换为链接而不会出现错误,也不会在页面上显示输出但没有链接。 我想摆脱“显示”链接,并把整个postpreview链接设为该帖子。
您需要使用JavaScript将点击处理程序添加到div元素。 例如,如果给特定的div一个id,它就很简单:
document.getElementById('myDivID').onclick = function() {
window.location = '/forums/post/123';
}
或者如果你正在使用jQuery:
$('#myDivId').click(function() { window.location = ... });
请注意,div中有两个链接-是否有意使第一个链接无法跟随?
我认为Hamish对他的问题肯定是正确的。 你需要它吗? 否则,您可以杀死第一个,然后使用一些纯HTML / CSS解决方案,该解决方案使用class postpreview在div中扩展每个a:
HTML
<div class="postpreview">
<a href="/forums/post/123" rel="bookmark" title="Foo">
<img src="/some/image/xyz.jpg" alt="foo" title="bar" />
</a>
</div>
CSS
.postpreview a {
display: block;
width: 100%;
height: 100%;
}
根据您的图片大小或更好的周围div分别设置a元素的高度和宽度。
这是一个解决方案 - 图像本身的链接会很好,或者更确切地说是下一步 - 生成此postpreview链接到post,其中缩略图链接到图像
以/开头的行不能很好地工作,但open image_tag行确实链接到帖子打开的页面,不需要js。
.postpreview
%a{:href =>(url_for [@blog, post])}
.postcontaincontain
= image_tag(post.image_url(:thumb)) if post.image_url
/= link_to image_tag(post.image_url(:thumb)), post.image_url if post.image_url
= shout.content
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.