DOM querySelectorAll - 元素 ID 不是以
DOM querySelectorAll - element ID not starting with
在一个 HTML 文档中,我有一个大型内联 SVG 对象,其中的组带有各种 ID(或 none)。我想找到除 ID 以字母序列 l0pzlo
、l1pzlo
和 l2pzlo
开头的组之外的所有组。仅查找这些 ID 的任务很简单
element.querySelectorAll("[id^=l0pzlo_],[id^=l1pzlo_],[id^=l2pzlo_]")
成功了。但是,我不知道如何只获取那些 ID DO NOT 以上面给出的三个前缀中的任何一个开头的元素。我尝试以各种不同的方式使用 :not
,例如
element.querySelectorAll(:not('[(id^=l0pzlo)]'))";
但似乎没有什么是浏览器喜欢的。我该怎么做?
我认为在这里留下我自己的答案比删除问题更有用
element.querySelectorAll('*:not([id^=l0pzlo]):not([id^=l1pzlo]):not([id^=l2pzlo])');
有效。将其视为以 non-greedy 方式执行过滤任务。首先你得到了所有的东西,然后通过一个或多个 :not
s
的序列逐步过滤掉你不需要的东西
在一个 HTML 文档中,我有一个大型内联 SVG 对象,其中的组带有各种 ID(或 none)。我想找到除 ID 以字母序列 l0pzlo
、l1pzlo
和 l2pzlo
开头的组之外的所有组。仅查找这些 ID 的任务很简单
element.querySelectorAll("[id^=l0pzlo_],[id^=l1pzlo_],[id^=l2pzlo_]")
成功了。但是,我不知道如何只获取那些 ID DO NOT 以上面给出的三个前缀中的任何一个开头的元素。我尝试以各种不同的方式使用 :not
,例如
element.querySelectorAll(:not('[(id^=l0pzlo)]'))";
但似乎没有什么是浏览器喜欢的。我该怎么做?
我认为在这里留下我自己的答案比删除问题更有用
element.querySelectorAll('*:not([id^=l0pzlo]):not([id^=l1pzlo]):not([id^=l2pzlo])');
有效。将其视为以 non-greedy 方式执行过滤任务。首先你得到了所有的东西,然后通过一个或多个 :not
s