gpt4 book ai didi

javascript - querySelectorAll 是否支持 id 中的句点 (.) 字符?

转载 作者:可可西里 更新时间:2023-11-01 02:32:42 24 4
gpt4 key购买 nike

querySelectorAll 是否支持 id 中的句点 (.) 字符?

我的意思是如果我附加如下元素:

var div = document.createElement('div');
div.id='my.divid';
document.body.appendChild(div);

然后我像下面这样使用 querySelectorAll:

document.querySelectorAll('#my.divid');

那我什么也得不到!

所以句点是id的合法字符,querySelectorAll是Firefox官方提供的方法;我无法相信该方法不支持 id 中的句点 (.)。我是不是犯了什么错误?

最佳答案

你需要记住 . 代表一个类选择器,所以选择器 #my.divid 代表一个 ID 为 my 的元素, divid 类,不是 ID 为 my.divid 的元素。因此,您的选择器将匹配以下元素:

var div = document.createElement('div');
div.id = 'my';
div.className = 'divid';
document.body.appendChild(div);

如果您需要选择 ID 为 my.divid 的元素,如您上面给出的那样,则需要转义句点:

document.querySelectorAll('#my\\.divid');

请注意,双反斜杠是因为它是 JS 选择器字符串;在 CSS 规则中,您将使用单个反斜杠:#my\.divid

关于javascript - querySelectorAll 是否支持 id 中的句点 (.) 字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17563296/

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