DOM querySelectorAll-元素ID不以开头

时间:2019-05-17 15:57:21

标签: dom filter selectors-api

在HTML文档中,我有一个大型内联SVG对象,该对象带有带有各种ID(或根本没有ID)的组。我想找到除ID以字母序列l0pzlol1pzlol2pzlo开头的组以外的所有组。仅查找那些ID的任务就很容易

element.querySelectorAll("[id^=l0pzlo_],[id^=l1pzlo_],[id^=l2pzlo_]")

可以解决问题。但是,我无法解决如何仅获取ID 请勿以上述三个前缀中的任何一个开头的元素的情况。我尝试以各种不同的方式使用:not,例如

element.querySelectorAll(:not('[(id^=l0pzlo)]'))";

,但似乎没有什么像浏览器那样。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我认为将自己的答案留在此处比删除问题简单得多

element.querySelectorAll('*:not([id^=l0pzlo]):not([id^=l1pzlo]):not([id^=l2pzlo]));

有效。将其视为以非贪婪方式进行过滤的任务。首先,您获得了绝对的一切,然后用一个或多个:not

的序列逐步过滤掉不需要的内容。