Jquery 检索链接url某些部分的最佳方法?

Jquery 检索链接url某些部分的最佳方法?,jquery,html-lists,extraction,Jquery,Html Lists,Extraction,我正在浏览一些包含链接的li's 链接可以如下所示: <a href="http://localhost/mlp/books/">Books</a> var listOptions = []; $('a').each(function () { var trimmed = $(this).prop('href').slice(0, -1); listOptions.push(trimmed.substring(trimmed.lastIndexOf('

我正在浏览一些包含链接的li's

链接可以如下所示:

<a href="http://localhost/mlp/books/">Books</a>
var listOptions = [];

$('a').each(function () {
    var trimmed = $(this).prop('href').slice(0, -1);
    listOptions.push(trimmed.substring(trimmed.lastIndexOf('/') + 1));
});
我希望如此

列表选项
现在将是URL最后部分的数组。

我会像这样使用


列表选项
现在将是URL最后部分的数组。

不确定HTML结构的确切内容,但假设您可以访问锚定标记:

$('a').each(function (index) {
    var tokens = this.href.split('/')
        , link = tokens[tokens.length - 2];

    // link is now "books" or "movies"
});
请注意,这还假设所有链接都有一个尾随
/


示例:

不确定您的HTML结构到底是什么,但假设您可以访问锚定标记:

$('a').each(function (index) {
    var tokens = this.href.split('/')
        , link = tokens[tokens.length - 2];

    // link is now "books" or "movies"
});
请注意,这还假设所有链接都有一个尾随
/


示例:

要将它们放入数组:

var listOptions = $.map($('#navigation ul li a'), function(el,i) { 
    return el.href.slice(0,-1).split('/').pop();
});

//listOptions now contains ['books', 'movies'] etc

要在站点上替换它们,请执行以下操作:

$('#navigation ul li a').attr('href', function(i, href) {
    var arr = href.split('/');
    return arr[arr.length-2]+'/';
});

要将它们放入阵列中:

var listOptions = $.map($('#navigation ul li a'), function(el,i) { 
    return el.href.slice(0,-1).split('/').pop();
});

//listOptions now contains ['books', 'movies'] etc

要在站点上替换它们,请执行以下操作:

$('#navigation ul li a').attr('href', function(i, href) {
    var arr = href.split('/');
    return arr[arr.length-2]+'/';
});

可能是这样的:

<a href="http://localhost/mlp/books/">Books</a>
var listOptions = [];

$('a').each(function () {
    var trimmed = $(this).prop('href').slice(0, -1);
    listOptions.push(trimmed.substring(trimmed.lastIndexOf('/') + 1));
});
在所有链接中都有尾随的
/
。如果总是这样,您需要先将其删除。
存储在
trimmed
变量中,然后提取最后一部分


如果情况并非总是如此,您可以稍微扩展一下逻辑。检查最后一个字符是否为
/
,然后将其删除。如果不是,则不删除任何内容

可能类似于以下内容:

<a href="http://localhost/mlp/books/">Books</a>
var listOptions = [];

$('a').each(function () {
    var trimmed = $(this).prop('href').slice(0, -1);
    listOptions.push(trimmed.substring(trimmed.lastIndexOf('/') + 1));
});
在所有链接中都有尾随的
/
。如果总是这样,您需要先将其删除。
存储在
trimmed
变量中,然后提取最后一部分

如果情况并非总是如此,您可以稍微扩展一下逻辑。检查最后一个字符是否为
/
,然后将其删除。如果不是,则不删除任何内容