如何使用jQuery动态获取页面URL的一部分?

时间:2018-01-05 19:30:09

标签: jquery imdb

用户可以在任何页面上留言,并粘贴任何IMDb链接。

我已经抓住并操纵了这些链接:

jQuery('[href*="imdb.com/title"]').addClass('imdb-link').after(' <span class="imdbRatingPlugin" data-title="" data-style="p4"><img src="logo.png" alt="IMDb" style="max-height:16px" /> </span>');

现在,我一直在努力解决的问题是如何将IMDb电影标题ID复制到data-title=""

必须以动态方式和每个链接完成,就像我已经定位链接一样。

以下是真实IMDb链接的示例:

http://www.imdb.com/title/tt0068646/

tt0068646 部分需要像data-title="tt0068646"那样被复制。同样,动态地,因为用户可以输入数十万种可能性的任何链接。

正则表达式是/imdb\.com\/title\/(\w+)/的一个选项。但是,如何在这种情况下实施呢?

1 个答案:

答案 0 :(得分:1)

您可能需要迭代每个链接,而不是尝试一次更改所有链接。

jQuery('[href*="imdb.com/title"]').each(function() {
    var id = /imdb\.com\/title\/(\w+)/.exec(jQuery(this).prop("href"));
    $(this)
        .addClass('imdb-link')
        .after(' <span class="imdbRatingPlugin" data-title="' + id[1] + '" data-style="p4"><img src="logo.png" alt="IMDb" style="max-height:16px" /> </span>');
});

以这种方式执行此操作较慢,但它允许您访问单个元素的属性。

或者,您可能需要使用jQuery(this).attr("href")