【问题标题】:How to dynamically grab a segment of an on-page URL with jQuery?如何使用 jQuery 动态抓取页面 URL 的一部分?
【发布时间】:2018-06-15 15:35:54
【问题描述】:

用户可以在任何页面上留下 cmets,并粘贴到任何 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+)/ 的一种选择。但是,如何在这种情况下实现呢?

【问题讨论】:

    标签: jquery imdb


    【解决方案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")

    【讨论】:

      猜你喜欢
      • 2016-05-24
      • 2019-09-03
      • 2014-06-11
      • 1970-01-01
      • 2011-12-10
      • 1970-01-01
      • 2014-11-18
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多