将DIV实现为链接
Implementing a DIV as a link
如何使用jQuery实现单击时执行链接的div。在HTML中这样做很容易,如下所示,但似乎也可以使用jQuery解决方案。不过,我不确定如何在jQuery中执行指向另一个URL的链接。
div#download {
width:200px;
height:75px;
background-image:url(../../images/download.png);
}
a#dwnld {
display:block;
width:100%;
height:100%;
}
<div id="download">
<a id="dwnld" href="../../pay_form.php?pn=10"></a>
</div>
这将适用于您当前的HTML:
$('#download').on('click', function() {
$('a', this).trigger('click')
});
为什么你不能让你的链接成为display: block
,并让它像<div>
一样发挥作用?
点击div
进入另一个站点
在正确准备DIV之后,您可以简单地说:
jQuery('.div-as-a-link').on('click', function(){
window.location = jQuery(this).data('url');
});
这将适用于具有"div-as-a-link
"类的每个div
元素,该元素的data-url
属性设置为要访问的站点的位置。
演示在这里:http://jsfiddle.net/tadeck/LQu4v/
解决方案的完整代码
示例HTML是:
<div class="div-as-a-link" data-url="http://en.wikipedia.org/">
This is a link that after being clicked leads you to some site.
</div>
其中最重要的部分是类(因此我们可以将可点击的div与其他div区分开来)和data-url
属性,其中包含我们点击特定div后要访问的URL。
您也可以单独使这些特定的div
以不同的方式出现(例如使用pointer
光标):
.div-as-a-link {
cursor: pointer;
}
最后还有一个JavaScript,它将事件绑定到具有div-as-a-link
类的现有div
:
jQuery('.div-as-a-link').on('click', function(){
window.location = jQuery(this).data('url');
});
这就是你所需要的:)
免责声明
但请记住:<a>
元素是用于链接的,<div>
不是。<div>
用于对元素进行分组或设置样式,当没有其他元素可用时应使用(在这种情况下,您有另一个可用元素:<a>
,只需正确设置样式即可)。
有关更多详细信息,请参阅:Mozilla开发者网络:div
试试这个:
#dwnld {
background-image:url(../../images/download.png);
display: block;
width: 200px;
height: 75px;
}
<a id="dwnld" href="../../pay_form.php?pn=10"></a>
如果您有兴趣使用jQuery,我的另一个答案和Tadeck的答案应该是您想要的。每个人的答案都涉及一个不同的最佳实践问题。
理想情况下,如果你有一个打开新页面的链接,你只需要使用一个常规的旧锚标记。如果你需要它来显示一个具有一定宽度和高度的背景图像,你不需要div。你只需要将锚定为块级元素。
这将找到href
并在单击时重定向(window.location
)
$('#download').click(function(){
window.location = $(this).find('a').attr('href');
});
我不确定,也许您必须在JQuery中使用触发器函数,如下所示:
$("#download").click(function (){
$("#dwnld").trigger("click");
});
div#dwnld {
display: block;
width:200px;
height:75px;
background-image:url(../../images/download.png);
}
a#dwnld {
display:block;
width:100%;
height:100%;
}
这应该对你有用。
- 使用getter和setter实现函数链接的方法
- 脚本链接格式以实现跨浏览器兼容性
- 通过锚链接实现跳到主要内容技术时更新键盘焦点
- 这是在javascript中实现链接的正确方法吗?
- 如何在 Tridion 中实现功能区工具栏按钮时链接弹出的 JavaScript 和弹出的 aspx 页面
- 如何使用Javascript实现电话链接
- Rdio.com是如何实现基于锚点的超链接的
- 将DIV实现为链接
- AngularJS实现动态模板-确认对$compile和链接的理解
- 当页面刷新或深链接时,Angular-ui-router无法实现状态解析的承诺
- 如何实现'copy url到clipboard'从一个链接或按钮使用javascript或dojo没有f
- 实现实时聊天中的链接
- 无法在指令链接中操作继承的作用域(konami代码指令实现)
- Omniture clickmap实现上的按钮,非真链接
- 如何使用Mediaelement Player实现可点击的音频章节链接
- 如何使用相同的按钮和类实现网站自动化?区别仅在于HTML的链接
- 如何使用简单的 html 实现 asp.net 的母版详细信息或在标题部分包含标题链接
- 实现多链接跟踪
- 在单页网页设计中实现链接
- jquery ui - ASP.. NET冲突在实现javascript通过母版页超链接