Получить последнюю часть URL с помощью jQuery

#jquery

#jquery

Вопрос:

Как я могу получить последний параметр URL-адреса с помощью jQuery. Например, в следующем URL-адресе я хочу получить 1.

 localhost/x/y/page/1/
  

Я пытаюсь следовать

 var url = $(location).attr('href');
var parts = url.split("/");
var last_part = parts[parts.length-1];
alert(last_part);
  

Возвращает пустое значение.

Комментарии:

1. Это потому, что вы разделяете ‘/’. В конце есть / . Попробуйте части. длина-2

Ответ №1:

Если «/» определенно находится в конце вашего URL, независимо от того, что .. тогда просто измените:

 var last_part = parts[parts.length-2]
  

(используйте 2 вместо 1) из-за комментария ncdreamy.

Кроме того, вам не нужен var var var var var … просто var один раз и разделитель через запятую:

 var url = $(location).attr('href'),
    parts = url.split("/"),
    last_part = parts[parts.length-2];
  

Ответ №2:

Вы можете использовать:

 hrefurl=$(location).attr("href");
last_part=hrefurl.substr(hrefurl.lastIndexOf('/')   1)
  

с помощью jquery

 $(location).attr("href").split('/').pop();
  

Комментарии:

1. Вы проверили? ваше решение jQuery, похоже, не работает: jsfiddle.net/D2UjM/1

2. Это потому, что в скрипте href нет последнего параметра.

Ответ №3:

Очень простое решение

 let url = $(location).attr('href');
let urlKey = url.replace(//s*$/, "").split('/').pop();
console.log(urlKey)
  
  1. сначала получите URL-адрес
  2. Заменить последнюю / из URL-адреса
  3. разделите / и вставьте последний элемент

Ответ №4:

Вы пытаетесь разделить через ‘/’, поэтому последний / также разделяет URL-адрес. Попробуйте это:

 var url = "localhost/x/y/page/1/";
var parts = url.split("/");
var last_part = parts[parts.length-2];
alert(last_part);
  

http://jsfiddle.net/tEt62/

Ответ №5:

Думаю, это вам поможет.

Здесь индекс указывает точку разделения.

 var str="url";

str.split("/")[3]
  

Комментарии:

1. Это будет работать только для определенных URL-адресов. Автор запрашивает общее решение.

2. @Simon — Хорошо, но он новичок, поэтому, пожалуйста, не отговаривайте его от -1.

3. @Code Monkey — ваш ответ правильный, но он статичен, думайте динамически и отвечайте на него. Спасибо

4. @sudharsan- Спасибо за поддержку. Я должен мыслить инновационным способом.

Ответ №6:

Не нужно использовать jQuery. Просто используйте var last = window.location.pathname

Комментарии:

1. Разве это не возвращает x/y/page/1/ ?

Ответ №7:

если вы не знаете, будет ли / в конце URL-адреса, тогда используйте решение @relic следующим образом:

 var url =  $(location).attr('href').replace(// $/,''), //rtrim `/`
    parts = url.split("/"),
    last_part = parts[parts.length-1];