如何使用 jQuery 动态抓取 on-page URL 的一段?

How to dynamically grab a segment of an on-page URL with jQuery?

用户可以在任何页面上发表评论,并粘贴到任何 IMDb link。

我已经像这样抓住并操纵那些 link:

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=""

它必须在 per-link 的基础上动态地完成,就像我已经针对 link 的方式一样。

这是一个真实的 IMDb 示例 link:

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

只有 tt0068646 部分需要像这样 data-title="tt0068646" 复制过来。同样,动态地,因为用户可以输入任何 link,数十万种可能性。

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

您可能需要遍历每个 link 而不是尝试一次更改所有这些。

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")