2013-07-05 5 views
7

От:JQuery/JS: Получить текущий URL родительский каталог

http://www.site.com/example/index.html

Как я могу получить только:

http://www.site.com/example/

И хранить его в переменная с использованием Javascript и использование jQu также. Заранее спасибо.

+3

Незначительный nitpick ... Это не «справочник». Это часть URL-адреса ресурса. Он может * отображать * в каталог на сервере, но сам URL-адрес не имеет каталога, потому что HTTP не является файловой системой. – David

+0

Спасибо за информацию, которую вы оценили –

ответ

10
var myURL = "http://www.site.com/example/index.html"; 
var myDir = myURL.substring(0, myURL.lastIndexOf("/") + 1); 
1

Fiddle

var a = "http://www.site.com/example/index.html"; 
var b = a.substring(0, a.lastIndexOf('/'))+"/"; 
1

Регулярное выражение будет делать то же самое, но в этом примере регулярное выражение не является самым простым решением.

var url = "http://www.site.com/example/index.html"; 
var newUrl = url.match(/^(.*[\\\/])/)[1]; 
1
$(location).prop("href").split("/").slice(0,-1).join("/") 

Demo с текущей страницы:

  1. $ (место нахождения)

    { 
        "ancestorOrigins": { 
        }, 
        "hash": "", 
        "host": "stackoverflow.com", 
        "hostname": "stackoverflow.com", 
        "href": "https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory", 
        "origin": "https://stackoverflow.com", 
        "pathname": "https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory", 
        "port": "", 
        "protocol": "https:", 
        "search": "" 
    } 
    
  2. $ (место) .prop ("HREF")

    https://stackoverflow.com/questions/17497045/jquery-js-get-current-url-parent-directory 
    
  3. $ (место) .prop ("HREF"). Раскол ("/")

    [ 
        "https:", 
        "", 
        "stackoverflow.com", 
        "questions", 
        "17497045", 
        "jquery-js-get-current-url-parent-directory" 
    ] 
    
  4. $ (местоположение) .prop ("HREF"). сплит ("/"). ломтик (0, -1)

    [ 
        "https:", 
        "", 
        "stackoverflow.com", 
        "questions", 
        "17497045" 
    ] 
    

    ※ Метод slice() выбирает элементы, начинающиеся с заданного начального аргумента, и заканчивается на, но не включает в себя заданный конечный аргумент. Используйте отрицательные числа для выбора из конца массива.

  5. $ (местоположение) .prop ("HREF"). Сплит ("/"). Ломтика (0, -1) .join ("/")

    https://stackoverflow.com/questions/17497045 
    

Примечания и ссылки:

  • location: объект местоположения содержит информацию о текущем URL.
  • href: Весь URL-адрес текущей страницы.
  • .prop(): Получить значение свойства для элемента.
  • .split(): Этот метод используется для разбиения строки на массив подстрок и возвращает новый массив.
  • .slice(): Метод возвращает выбранные элементы в массиве как новый объект массива.
  • .join(): Метод объединяет элементы массива в строку и возвращает строку.
+3

Не могли бы вы расширить свой ответ для программистов, чтобы понять, как именно это помогает решить проблему. – Daenarys

+0

@Деньги Ваше предложение хорошее, я улучшил свой ответ. – jqgsninimo

Смежные вопросы