js 正则匹配 div 问题
问题描述:
如何使用正则表达式匹配 html 中所有 class 为 “n-item n-item-ad spread-item news-item” 的
原始正则表达式:
立即学习“前端免费学习笔记(深入)”;
var reg = new regexp("
登录后复制
问题分析:
给定的正则表达式无法匹配预期结果,因为:
- 尖括号 () 是 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");
登录后复制
这将返回所有匹配指定类名的
© 版权声明
文章版权归作者所有,未经允许请勿转载。
【小浪云服务商 - 服务器12元起 - 挂机宝5元起】
THE END
暂无评论内容