【问题标题】:How to get href using innertext and regex如何使用内部文本和正则表达式获取href
【发布时间】:2022-02-12 18:02:16
【问题描述】:

如何从<a>标签中获取Href。

如何使用选择器获取 href 链接,我尝试过如下方法,但没有成功。

有望获得“www.test.com/all_reviews”

var a = document.querySelectorAll("a[href =*'all_reviews'*]")
console.log(a)
<a href="www.test.com/all_reviews">All Reviews</a>
<a href="www.test.com/all_reviews/altered">All Reviews</a>

【问题讨论】:

  • 如您所见,选择器无效
  • ("a[href*='all_reviews']") - 如果只有一个,使用 querySelector 而不是 querySelectorAll

标签: javascript html jquery


【解决方案1】:

您可以像这样使用 jquery :contains() 选择器:

 $("a:contains(All Reviews)") 

查看代码示例并在此处阅读更多信息:https://api.jquery.com/contains-selector/

【讨论】:

    【解决方案2】:

    要访问href,您应该使用所选元素的getAttribute

    let anchors = document.querySelectorAll('a[href*="all_reviews"]');
    let link = null;
    Array.from(anchors).forEach(element => {
        let pattern = /all_reviews$/;
        let url = element.getAttribute('href');
        if(pattern.test(url)) {
          link = url;
        }
    });
    
    console.log(link);
    <a href="www.test.com/all_reviews">All Reviews</a>
    <a href="www.test.com/all_reviews/altered">All Reviews</a>

    您可以使用正则表达式检查链接是否以 all_reviews 作为第二个链接 all_reviews 不在 URL 的末尾。

    【讨论】:

    • 谢谢。还有一个问题我刚刚更新了我的问题,请检查一下。如果有多个 .
    • 我做了一些改动你可以检查新代码
    猜你喜欢
    • 1970-01-01
    • 2023-03-12
    • 2022-11-12
    • 2012-02-11
    • 2016-06-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多