Gerçekten istediğiniz jQuery URL Ayrıştırıcı eklentisidir . Bu eklenti ile belirli bir URL parametresinin değerini (geçerli URL için) almak şöyle görünür:
$.url().param('foo');
Anahtar olarak parametre adlarına ve değer olarak parametre değerlerine sahip bir nesne istiyorsanız param()
, aşağıdaki gibi bağımsız değişken olmadan çağrı yaparsınız :
$.url().param();
Bu kütüphane, yalnızca geçerli olanla değil, diğer URL'lerle de çalışır:
$.url('http://allmarkedup.com?sky=blue&grass=green').param();
$('#myElement').url().param(); // works with elements that have 'src', 'href' or 'action' attributes
Bu, URL ayrıştırma kütüphanesinin tamamı olduğundan, belirtilen bağlantı noktası veya yol, protokol vb. Gibi URL'den de başka bilgiler alabilirsiniz:
var url = $.url('http://allmarkedup.com/folder/dir/index.html?item=value');
url.attr('protocol'); // returns 'http'
url.attr('path'); // returns '/folder/dir/index.html'
Başka özellikleri de var, daha fazla doküman ve örnek için ana sayfasına bakın.
Bunun yerine bu özel amaç için kendi URI ayrıştırıcı yazma tür çalışır çoğu durumlarda, gerçek bir URI çözümleyici kullanabilirsiniz. Cevaba bağlı olarak, diğer cevaplardan gelen kodlar 'null'
yerine dönebilir null
, boş parametrelerle ( ?foo=&bar=x
) çalışmaz, tüm parametreleri bir kerede ayrıştıramaz ve geri döndüremez, URL'yi parametreler için tekrar tekrar sorgularsanız, işi tekrarlar.
Gerçek bir URI ayrıştırıcısı kullanın, kendinizinkini icat etmeyin.
JQuery'den farklı olanlar için , eklentinin saf JS sürümü var .