我想写一些类似的东西:
var N = document.querySelectorAll("input[id^='left"+/^[0-9]*$/+"right']").length;
我如何使用JS / JQuery?
答案 0 :(得分:2)
你不能。属性选择器不支持regexp。您可以根据前缀和后缀进行选择:
[id^="left"][id$="right"]
如果您要排除ID在left
和right
之间缺少数字的元素,则必须将其过滤掉:
Array.from(queryResults).filter(elt => /^left\d*right$/.test(elt.id));
但是,一般而言,使用具有复杂内部结构的ID通常不是最佳方法。你将不得不继续构建它们并将它们分开。考虑使用类和/或数据属性,或者通常情况下,如果您自己创建元素,您可以只记住元素并直接引用它们。