gpt4 book ai didi

css - 如何正确地将完整的 css3 选择器写入 querySelectorAll

转载 作者:太空宇宙 更新时间:2023-11-04 15:50:44 24 4
gpt4 key购买 nike

如何正确编写此 css3 选择器查询?

var elements = document.querySelectorAll("[data-datasource='ds1']:not(input[type='button']):not(input[type='submit']):not(input[type='submit']):not(input[type='hidden']):not(input[type='reset']):not(input[type='file']):not(input[type='image']):not(input[type='search'])");

上面的查询抛出一个语法错误。

我想选择所有具有 data-datasource='ds1' 的元素,除了按钮、提交、提交、隐藏、重置、文件、图像和搜索类型的输入。

最佳答案

不幸的是,CSS3's :not() selector一次只允许一个简单的选择器。你得到一个异常,因为你所有的 :not(input[...]) 选择器都是无效的 CSS3,因为它们包含两个简单的选择器:input 和一个属性选择器。

试试这个:

var elements = document.querySelectorAll("[data-datasource='ds1']:not(input), input[data-datasource='ds1']:not([type='button']):not([type='submit']):not([type='hidden']):not([type='reset']):not([type='file']):not([type='image']):not([type='search'])");

因为它仍然是一个很长的选择器字符串,这里有一个分割:

/* Any elements except input that have this attribute value */
[data-datasource='ds1']:not(input),

/* Only inputs that have this attribute value, but not any of these types */
input[data-datasource='ds1']:not([type='button']):not([type='submit']):not([type='hidden']):not([type='reset']):not([type='file']):not([type='image']):not([type='search'])

关于css - 如何正确地将完整的 css3 选择器写入 querySelectorAll,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11250919/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com