Javascript 如何获取具有非空类名的元素数

Javascript 如何获取具有非空类名的元素数,javascript,html,Javascript,Html,示例代码: console.log(document.querySelectorAll(“p[class]”)长度) 你好,世界 你好,世界 你好,世界 你好,世界 您可以从集合中创建一个数组,并通过其类名是否为数字来过滤: constpswithclass=document.queryselectoral(“p[class]”); 常量countPsWithNumericClass=[…psWithClass] .filter(({className})=>/^\d+$/.test(cla

示例代码:

console.log(document.querySelectorAll(“p[class]”)长度)

你好,世界

你好,世界

你好,世界


你好,世界

您可以从集合中创建一个数组,并通过其
类名
是否为数字来过滤

constpswithclass=document.queryselectoral(“p[class]”);
常量countPsWithNumericClass=[…psWithClass]
.filter(({className})=>/^\d+$/.test(className))
.长度;
console.log(countPsWithNumericClass)

你好,世界

你好,世界

你好,世界

你好,世界

您可以按以下方式使用
过滤器()

var p=document.querySelectorAll('p')
var count=[…p].filter(el=>!isNaN(el.className.trim())和&el.className).length;
控制台日志(计数)

你好,世界

你好,世界

你好,世界


你好,世界

您可以扩展选择器,使其不选择具有空类属性的段落

console.log(document.querySelectorAll('p[class]:not([class=”“])).length)

你好,世界

你好,世界

你好,世界


你好,世界

谢谢你的回答!我刚刚编辑了我的问题标题:类名是否为数字并不重要。我只是想知道如何获得非空类名的元素数。抱歉,我没有首先澄清。请参见编辑,使用
:非
。最好确保你的问题标题准确地反映了问题发布时你在寻找的内容看起来很棒!可以将其简化为
document.queryselectoral(“p:not([class=''])”)
?这将匹配
你好,世界

-但是没有类,所以我认为您想排除它?(如果该
在HTML中,则结果将包含3个元素,而不是2个元素)
:not
其中明确排除空字符串作为类名,但不排除根本没有类