[英]Opening the URL of a <a> link in JQuery colorbox when it is clicked
[英]alter url with jQuery when link is clicked
单击链接时,我需要更改网址的一部分。
$('.slavearticle a.headlinelink').click(function () {
var url = $(this).attr('href');
url = url.replace('/something.example.com', 'betterexample.no');
console.log(url);
return false;
});
理想的结果是,如果url为something.example.com/index.html,则它将/后面的所有内容都更改为Betterexample.no/index.html。
这似乎可行,但我有问题。 “ something.example.com”需要更加动态
$('。slavearticle a.headlinelink')。click(function(){
var url = $(this).attr('href');
url = url.replace(something.example.com,'betterexample.no');
window.location.href = url;
});
缺点是我有50个不同的站点需要此功能。 有没有办法在/之后获取所有内容,从而使其适用于任何站点?
再增加一行:$(this).attr('href',url);
$('.slavearticle a.headlinelink').click(function(){
var url = $(this).attr('href');
url = url.replace('/something.example.com','betterexample.no');
$(this).attr('href',url);
console.log(url);
return false;
});
当您使用jQuery获得attr时,您只有字符串,而不是字符串的来源引用,因此,替换字符串时,您只是在替换字符串,而不是链接的实际href。 这样,您将替换链接中的href:
$('.slavearticle a.headlinelink').click(function () {
var url = $(this).attr('href',$(this).attr('href').replace('something.example.com', 'betterexample.no'));
console.log(url);
return false;
});
我认为最好使用普通的JavaScript来做到这一点:
$('.slavearticle a.headlinelink').click(function () {
this.href = this.href.replace('/something.example.com', 'betterexample.no');
console.log(this.href);
return false;
});
在这里,我只是更改了所有包含“ something.example.com”的链接
$('.slavearticle a.headlinelink[href*="something.example.com"]').click(function () {
var newUrl = $(this).attr("href").replace("something.example.com","betterexample.no");
$(this).attr('href',newUrl);
// do NOT return false if you want the link to work
});
较早的建议:
$('.slavearticle a.headlinelink').click(function (e) {
e.preventDefault(); // stop the link since we navigate
var newUrl = $(this).attr("href").replace("something.example.com","betterexample.no");
location = newUrl;
});
不知道我是否了解所有要求,但这是您要寻找的吗? http://jsfiddle.net/cg7m3/
我基本上只是添加window.location.href = url;
,并在替换字符串中删除了起始斜杠。
$('.slavearticle a.headlinelink').click(function () {
var url = $(this).attr('href');
url = url.replace('something.example.com', 'google.com');
console.log(url);
window.location.href = url;
return false;
});
试试这个,这对我有用
$('.slavearticle a.headlinelink').click(function () {
var url = $(this).attr('href');
url = url.replace('something.example.com', 'betterexample.no');
console.log(url);
return false;
});
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.