Javascript 删除url href中的字符

Javascript 删除url href中的字符,javascript,jquery,href,Javascript,Jquery,Href,我有这样一个链接: http://nl.wikipedia.org/wiki/Alexandra_Stan&sa=U&ei=UULHUIIdzPnhBOKMgPgJ&ved=0CCIQFjAA&usg=AFQjCNGyCikDkoZMnnuqGo6vjMQ6b5lZkw $('a').each(function() { $(this).attr("href", function(index, old) { return old

我有这样一个链接:

http://nl.wikipedia.org/wiki/Alexandra_Stan&sa=U&ei=UULHUIIdzPnhBOKMgPgJ&ved=0CCIQFjAA&usg=AFQjCNGyCikDkoZMnnuqGo6vjMQ6b5lZkw
$('a').each(function() {
      $(this).attr("href", function(index, old) {
            return old.replace("something", "something else");
      });
});
我想删除从“&”开始的所有内容,因此这将为我提供一个干净的url:

http://nl.wikipedia.org/wiki/Alexandra_Stan
我知道如何像这样替换href:

http://nl.wikipedia.org/wiki/Alexandra_Stan&sa=U&ei=UULHUIIdzPnhBOKMgPgJ&ved=0CCIQFjAA&usg=AFQjCNGyCikDkoZMnnuqGo6vjMQ6b5lZkw
$('a').each(function() {
      $(this).attr("href", function(index, old) {
            return old.replace("something", "something else");
      });
});
但我不知道如何摆脱从某个字符开始的所有内容。

改用。它将字符串按字符拆分为数组。最重要的部分是,如果您的大小写“&”中缺少该字符,它将把整个字符串放在第一个数组索引中

// 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/'
改用。它将字符串按字符拆分为数组。最重要的部分是,如果您的大小写“&”中缺少该字符,它将把整个字符串放在第一个数组索引中

// 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/'
您可以使用substr和indexOf获取URL的特定部分,从URL字符串的开头一直到遇到第一个与符号为止

  var href = $(this).attr('href'); 
  var url = href.substr(0, href.indexOf('&')); 
您可以使用substr和indexOf获取URL的特定部分,从URL字符串的开头一直到遇到第一个与符号为止

  var href = $(this).attr('href'); 
  var url = href.substr(0, href.indexOf('&')); 

第一:考虑参数列表以什么开头?而不是与&

您正在处理的锚元素已经解析并正确划分了整个url。 您只需访问正确的锚属性:

第一:考虑参数列表以什么开头?而不是与&

您正在处理的锚元素已经解析并正确划分了整个url。 您只需访问正确的锚属性:


请考虑堆栈溢出问题的答案。不要介意。下面的两个答案都比我的答案更合适。这是不是一个没有URL的有效URI?对于第一个qs参数?@jbabey你是什么意思…它会带你到页面右侧?@Youss如果任何服务器代码.NET、PHP等尝试检索任何querystring值,它将抛出异常。URI的查询字符串部分必须以?开头?。请考虑堆栈溢出问题的答案。不要介意。下面的两个答案都比我的答案更合适。这是不是一个没有URL的有效URI?对于第一个qs参数?@jbabey你是什么意思…它会带你到页面右侧?@Youss如果任何服务器代码.NET、PHP等尝试检索任何querystring值,它将抛出异常。URI的查询字符串部分必须以?开头?。是否需要详细说明?是否需要详细说明?如果href中没有“&”,String.prototype.indexOf将不起作用!它将返回-1,您将得到空字符串!如果href中没有“&”,则OP应该测试。String.prototype.indexOf将不起作用!它将返回-1,您将得到空字符串!没错,OP应该对此进行测试。