5

リンクのURLからクエリ文字列を削除するにはどうすればよいですか?たとえば、私は持っています

<a href="http://example.com/somepath/anotherpath?title=dog">The Link</a>

?title=dogjavascript / jqueryを使用してURLからのみを削除するにはどうすればよいですか?

4

6 に答える 6

14

Locationオブジェクトのsearchプロパティを変更するだけで、リンクからクエリ文字列を削除できます。

$("#your_link")[0].search = "";

デモ: http: //jsfiddle.net/uSrmg/1/

または、複数の要素をターゲットにする必要がある場合:

$("a.someclass").each(function() {
 this.search = "";   
});

デモ: http: //jsfiddle.net/uSrmg/4/


任意のURLを解析してクエリ文字列を削除する場合は、この投稿で説明されているトリックを逆にすることができます。例えば:

function remove_qs(url) {
    var a = document.createElement('a'); // dummy element
    a.href = url;   // set full url
    a.search = "";  // blank out query string
    return a.href;
}

これは、Locationオブジェクトを使用してすべての解析を実行するため、非常に堅牢である必要があります。

使用例:http://jsfiddle.net/uSrmg/


于 2012-07-18T14:28:19.657 に答える
4

検索を空白に置き換えるもう1つの方法があります。

String(document.location.href).replace("&title=dog", "");
于 2014-12-05T04:57:57.900 に答える
3

アンカータグからクエリ文字列を削除するには:

var anchor = $('#yourAnchor');
var href = anchor.attr('href');

if (href.indexOf('?') !== -1) {
   anchor.attr('href', href.split('?')[0]);
}
于 2012-07-18T14:20:38.010 に答える
2
var url=$('a').attr('href').split('?')[0];

「?」で分割 そして最初のアイテムを取得します。ページ上のすべてのリンクのURLを変更する場合は、次のコードを使用できます。

$('a').each(function(i,el){ 
    $(el).attr('href', $(el).attr('href').split('?')[0]);
});
于 2012-07-18T14:16:02.710 に答える
0

ページの読み込み時にURLからクエリ文字列を次のように分割できます:-

$(function(){
  if(Modernizr.history)
  {
    history.replaceState({},"",location.href.split("?")[0]);
  }
});
于 2016-11-22T05:46:31.693 に答える
0

このコードは私のために働いた:

var url = "www.foo.com/test?name=kevin&gender=Male&id=1234";

var res = url.replace("&gender=Male", "");

window.location.href =res;

javascriptによってURLの特定の文字列クエリパラメータを分割します

于 2017-08-16T09:56:05.370 に答える