如何忽略document.querySelectorAll();区分大小写

编程入门 行业动态 更新时间:2024-10-09 05:24:26
本文介绍了如何忽略document.querySelectorAll();区分大小写的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我试图提取所有类名以userName_XXX开头的类名

目前我有一个类似这样的代码。 p>

var list = document.querySelectorAll(div [class ^ = userName_]); var classArr = Array.prototype .map.call(list,function(div){ return div.className; });

返回的arr保存所有的用户类。我的问题是有些情况下类不遵循确切的情况。

我会遇到像username_XXX这样的课程,它不会选择它,因为它的大小写敏感。任何人都可以帮我在这里或指向正确的方向吗?

编辑:尝试下面这个。现在仍然是运气。 http:// jsperf / case-insensitive-queryselectorall / 2

解决方案

试试这个:

var classes = [],els = document.querySelectorAll(div [class * = userName_],div [class * = username _]); for(var i = 0; I< els.length; ++ i){var match = els [i] .className.match(/(?:^ | \s)(userName_\S {3})(?:$ | \s)/ i); if(match)classes.push(match [1]);} console.log(classes);

< div class =userName_123>生成userName_123< / div>< div class =userName_1234>生成nothing< / div>< div class = username_abc>产生username_abc< / div>< div class =foo userName_abc bar>产生userName_abc< / div>

I"m trying to extract all class names where the class names begin with "userName_XXX"

Currently I have a code that goes a bit like this.

var list = document.querySelectorAll("div[class^=userName_]"); var classArr = Array.prototype.map.call(list, function(div) { return div.className; });

Where the returned arr holds all user classes. My issue is that there are some cases where the classes do not follow the exact case.

So I'll come across a class like this "username_XXX" and it won't pick that up because its case sensitive. Can anyone help me out here or point me in the right direction?

EDIT: Tried following this. Still now luck. jsperf/case-insensitive-queryselectorall/2

解决方案

Try this:

var classes = [], els = document.querySelectorAll("div[class*=userName_], div[class*=username_]"); for(var i=0; i<els.length; ++i) { var match = els[i].className.match(/(?:^|\s)(userName_\S{3})(?:$|\s)/i); if(match) classes.push(match[1]); } console.log(classes);

<div class="userName_123">Produces "userName_123"</div> <div class="userName_1234">Produces nothing</div> <div class="username_abc">Produces "username_abc"</div> <div class="foo userName_abc bar">Produces "userName_abc"</div>

更多推荐

如何忽略document.querySelectorAll();区分大小写

本文发布于:2023-11-11 08:29:16,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:大小写   document   querySelectorAll

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!