我有一些类似这样的HTML:
<input name="arr[something completely random][something else I can't rely on][initial]" />
<!-- ... -->
<input name="arr[dadedadeda][blahblahblah][initial]" />
和我的JavaScript document.querySelectorAll('[name~="initial"]')
返回[]
(空)。为什么?名称中的多维数组处理方式不同吗?我是不是漏掉了什么?
我刚刚尝试了document.querySelectorAll('[name$="[initial]"]')
, ends with
选择器(attr$="endStr"
),这返回了我需要的,但我仍然需要知道为什么attribute contains
选择器(attr~="inStr"
)无法工作
对于单词包含过滤器,单词应该用空格分隔,在您的情况下,由于您的单词包含在[]
可以使用contains选择器,如
document.querySelectorAll('[name*="initial"]')
document.querySelectorAll('[name*="[initial]"]')//to be more specific