我有这样的链接:
http://nl.wikipedia.org/wiki/Alexandra_Stan&sa=U&ei=UULHUIIdzPnhBOKMgPgJ&ved=0CCIQFjAA&usg=AFQjCNGyCikDkoZMnnuqGo6vjMQ6b5lZkw
我想摆脱'&'开头的一切所以这会给我一个干净的网址:
http://nl.wikipedia.org/wiki/Alexandra_Stan
我知道如何像这样替换href:
$('a').each(function() {
$(this).attr("href", function(index, old) {
return old.replace("something", "something else");
});
});
但我无法弄清楚如何从某个角色开始摆脱一切。
答案 0 :(得分:10)
您可以使用substr()
和indexOf()
获取网址的特定部分,从URL字符串的开头直到遇到第一个&符号。
var href = $(this).attr('href');
var url = href.substr(0, href.indexOf('&'));
答案 1 :(得分:1)
请改用String.prototype.split
。它将逐个字符串拆分为一个数组。最重要的部分是,如果缺少该字符(在您的情况下,'&'),它将把整个字符串放在第一个数组索引中。
// String.prototype.indexOf:
var href = 'http://www.noAmpersandHere.com/',
url = href.substr(0, href.indexOf('&')); // ''
// String.prototype.split:
var href = 'http://www.noAmpersandHere.com/',
url = href.split('&'); // ['http://www.noAmpersandHere.com/']
url = url[0]; // 'http://www.noAmpersandHere.com/'
答案 2 :(得分:0)
首先:请注意参数列表以?
开头,而不是&
您正在处理的锚元素已经解析并正确划分了整个网址。 您只需要访问正确的锚属性:
https://developer.mozilla.org/en-US/docs/DOM/HTMLAnchorElement