jQuery colorbox - 从单击的链接获取 url 参数
我正在使用 Colorbox 在 iframe 中加载联系表单。
但是,我希望 Colorbox url 与 html url 不同,以便为 JS 和非 JS 用户提供不同的联系页面。
不过,我确实需要从确切单击的链接中获取 url 参数。
HTML 代码:
<a href="contact?id=XX" class="enquiryForm">
Colorbox 代码:
$(document).ready(function(){
$('.enquiryForm').colorbox({height:600, width:800, iframe:true, href: 'colorboxcontact?id=XX'});
});
其中“contact”是非 JS 页面,“colorboxcontact”是要在 Colorbox iframe 中加载的页面。
如何从 clicked 链接中提取 url 参数,然后将其添加到 jQuery 调用中的“colorboxcontact”href 值?
* 编辑*
好的,我已经到达以下位置,但仍然无法正常工作。谁能指出我哪里出错了?
$('.enquiryForm').colorbox({
height:600,
width:800,
iframe:true,
href: $('.enquiryForm').each(function() {
newhref = 'colorboxcontact' + $(this).attr('href').split("?")[3];
$(this).attr('href', newhref);
});
});
I am using Colorbox to load a contact form within an iframe.
However, I want the Colorbox url to be different than the html one, to serve up a different contact page for JS and non-JS users.
I do need to get the url parameter from the exact clicked link though.
HTML Code:
<a href="contact?id=XX" class="enquiryForm">
Colorbox code:
$(document).ready(function(){
$('.enquiryForm').colorbox({height:600, width:800, iframe:true, href: 'colorboxcontact?id=XX'});
});
Where 'contact' is the non-JS page and 'colorboxcontact' is the page to be loaded in the Colorbox iframe.
How can I extract the url parameter from the clicked link, and then add it to the 'colorboxcontact' href value in my jQuery call?
* EDIT *
Ok I've arrived at the following but still don't have it working. Can anyone point out where I am going wrong?
$('.enquiryForm').colorbox({
height:600,
width:800,
iframe:true,
href: $('.enquiryForm').each(function() {
newhref = 'colorboxcontact' + $(this).attr('href').split("?")[3];
$(this).attr('href', newhref);
});
});
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
要获取 url 字符串的特定查询字符串信息,您需要在以下位置找到此函数:
如何获取查询字符串JavaScript 中的值?
稍微修改一下:
所以你最终会得到这样的结果:
To get specific query string info for url string you need this function found at:
How can I get query string values in JavaScript?
slightly modified:
so then you will end up with something like this:
使用
.each()
获取值,如下所示:< a href="http://api.jquery.com/each/" rel="nofollow">
.each()
使您可以访问每个当您通过
this
循环它们时。如果您不关心它是否是完全限定的网址,可以将$(this).attr("href")
替换为this.href
(IE 将完全限定这一点),如下所示:Use a
.each()
to get the value, like this:.each()
gives you access to each<a>
as you loop over them viathis
. If you don't care if it's a fully qualified url or not, you can replace$(this).attr("href")
withthis.href
(IE will fully qualify this), like this:我认为也许一个简单的方法是将 href 设置为返回链接的函数。
I think perhaps a simple approach would be to set the href to a function that returns the link.