属性包含返回空数组的词选择器

Attribute contains word selector returning empty array

我有一些 HTML 类似于:

<input name="arr[something completely random][something else I can't rely on][initial]" />
<!-- ... -->
<input name="arr[dadedadeda][blahblahblah][initial]" />

还有我的JavaScriptdocument.querySelectorAll('[name~="initial"]')returns[](空)。为什么?名称中的多维数组是否以不同方式处理?有什么我想念的吗?

我刚刚尝试了 document.querySelectorAll('[name$="[initial]"]')ends with 选择器 (attr$="endStr"),以及这个 returns 我需要的东西,但我仍然需要知道为什么 attribute contains 选择器 (attr~="inStr") 无法工作

对于单词包含过滤器,单词应该用空格分隔,在您的情况下失败,因为您将单词包含在 []

相反,您可以使用包含选择器,例如

document.querySelectorAll('[name*="initial"]')
document.querySelectorAll('[name*="[initial]"]')//to be more specific