1

次のようなリンクがあります。

http://nl.wikipedia.org/wiki/Alexandra_Stan&sa=U&ei=UULHUIIdzPnhBOKMgPgJ&ved=0CCIQFjAA&usg=AFQjCNGyCikDkoZMnnuqGo6vjMQ6b5lZkw

「&」で始まるすべてを削除したいので、これによりクリーンな URL が得られます。

http://nl.wikipedia.org/wiki/Alexandra_Stan

次のように href を置き換える方法を知っています。

$('a').each(function() {
      $(this).attr("href", function(index, old) {
            return old.replace("something", "something else");
      });
});

しかし、特定の文字から始まるすべてを取り除く方法がわかりません。

4

3 に答える 3

8

とを使用substr()indexOf()て、URL 文字列の先頭から最初のアンパサンドが検出されるまで、URL の特定の部分を取得できます。

  var href = $(this).attr('href'); 
  var url = href.substr(0, href.indexOf('&')); 
于 2012-12-11T14:39:42.297 に答える
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/'
于 2012-12-11T14:39:17.693 に答える