17

私はこのコードを作成しました:

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つのアイテムを取得するにはどうすればよいですか。結果がportfolio/ruimzicht.htmlであることを望みます。

4

5 に答える 5

51

あなたはこれのどれも必要としません、あなたはただ欲しいです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

于 2012-08-10T09:34:30.753 に答える
1

固定サイズまたは要素数がない場合は、配列の長さを使用できます。

var path = array[array.length-2]+'/'+array[array.length-1];

パスが必要な場合は、コメントで提案されているプレーンJSまたはjQueryを使用してください。

//Plain JS
var path = window.location.pathname;
//jQuery
$(location).attr('pathname'); 
于 2012-08-10T09:21:33.040 に答える
0

あなたはこれを試すことができます

var newURL = $(".list-portfolio a").attr("href"),
    pathArray = newURL.split( '/' ),
    secondLevelLocation = pathArray[0];
console.log(pathArray);

var pathArray = pathArray[3] +'/'+ pathArray[4];
于 2012-08-10T09:17:13.307 に答える
0

またはこのようなものかもしれません

var newURL = $(".list-portfolio a").attr("href"),
pathArray = newURL.split( '/' ),
secondLevelLocation = pathArray.shift();

var pathArray = pathArray.join('/');
于 2012-08-10T09:22:50.950 に答える
0

これを試して

console.log(new URL(document.URL));

URLのオブジェクトを取得します

于 2019-11-26T07:53:44.333 に答える