Получить части URL-адреса после имени домена //... путем разбиения URL-адреса на массив
Я сделал этот код:
var newURL = $(".list-portfolio a").attr("href"),
pathArray = newURL.split( '/' ),
secondLevelLocation = pathArray[0];
console.log(pathArray);
var pathArray = pathArray[3, 4];
Значение pathArray равно ["http:", "", "www.mikevierwind.nl", "portfolio", "ruimzicht.html"]
Как я могу получить последние 2 элемента этого массива. Я хочу, чтобы результатом был портфолио/ruimzicht.html.
Ответы
Ответ 1
Вам ничего не нужно, просто нужно window.location.pathname
:
> window.location.pathname
"/questions/11898626/get-items-of-the-array/11898963"
Это позволит вам в будущем иметь каталоги, такие как "portfolio/2012/ruimzicht.html", и изменять домены, чтобы сказать "www.mikevierwind.???" без изменения кода.
Если вы в настоящее время не находитесь в домене (и не можете сделать это выше), вы можете сделать это с помощью однострочного интерфейса:
> pathArray.slice(-2).join('/')
"portfolio/ruimzicht.html"
Но это не похоже на будущее, как выше. Чтобы сделать его надежным, вы можете:
> url.split(document.domain)[1].slice(1)
"portfolio/2012/ruimzicht.html"
Как правило, это делается для внешних URL-адресов, если вы не находитесь в домене и поэтому не можете сделать window.location.pathname
.
Ответ 2
Вы можете попробовать это
var newURL = $(".list-portfolio a").attr("href"),
pathArray = newURL.split( '/' ),
secondLevelLocation = pathArray[0];
console.log(pathArray);
var pathArray = pathArray[3] +'/'+ pathArray[4];
Ответ 3
Вы можете использовать длину массива, если у вас нет фиксированного размера или количества элементов.
var path = array[array.length-2]+'/'+array[array.length-1];
Если вы просто хотите, чтобы путь использовал простой JS или jQuery, поскольку они предлагают вам комментарии.
//Plain JS
var path = window.location.pathname;
//jQuery
$(location).attr('pathname');
Ответ 4
Или Может быть что-то вроде этого
var newURL = $(".list-portfolio a").attr("href"),
pathArray = newURL.split( '/' ),
secondLevelLocation = pathArray.shift();
var pathArray = pathArray.join('/');