我需要在点击链接时更改网址的一部分。
$('.slavearticle a.headlinelink').click(function () {
var url = $(this).attr('href');
url = url.replace('/something.example.com', 'betterexample.no');
console.log(url);
return false;
});
如果网址是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个不同的网站需要此功能。是否有办法在/之后获取所有内容,以便这适用于任何网站?
答案 0 :(得分:0)
添加一行: $(本).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;
});
答案 1 :(得分:0)
当你使用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;
});
答案 2 :(得分:0)
这里我只更改包含“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;
});
答案 3 :(得分:0)
不确定我是否理解所有要求,但这是您要找的吗? 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;
});
答案 4 :(得分:-2)
试试这个,这对我有用
$('.slavearticle a.headlinelink').click(function () {
var url = $(this).attr('href');
url = url.replace('something.example.com', 'betterexample.no');
console.log(url);
return false;
});