如何使用正则表达式匹配 HTML 中特定类名的 “ 标签?

如何使用正则表达式匹配 HTML 中特定类名的 “ 标签?

js 正则匹配 div 问题

问题描述:

如何使用正则表达式匹配 html 中所有 class 为 “n-item n-item-ad spread-item news-item” 的

  • 标签?

    原始正则表达式

    立即学习前端免费学习笔记(深入)”;

    var reg = new regexp("
    登录后复制
  • ([ss]*?)”, “g”);

    问题分析:

    给定的正则表达式无法匹配预期结果,因为:

    • 尖括号 () 是 html 中标签的开始和结束标记,但正则表达式没有转义这些字符。
    • 正则表达式中的 [^]*? 匹配非换行符的字符,而 html 标签中包含换行符。

    建议解决方案:

    使用 JavaScript 的 queryselector 方法,其语法如下:

    document.queryselector(selectors);
    登录后复制

    selectors 参数是一个 css 选择器,可以轻松匹配具有特定类名的元素。对于给定的问题,使用以下 css 选择器即可:

    .n-item.n-item-ad.spread-item.news-item
    登录后复制

    改进代码:

    var elements = document.querySelectorAll(".n-item.n-item-ad.spread-item.news-item");
    登录后复制

    这将返回所有匹配指定类名的

  • 标签的 dom 节点列表。
  • © 版权声明
    THE END
    喜欢就支持一下吧
    点赞13 分享
    评论 抢沙发

    请登录后发表评论

      暂无评论内容