# querySelector 动态 ID 报错怎么办

URL: https://caijiao.org/how-to/javascript/query-selector-dynamic-id
Source: docs/how-to/javascript/query-selector-dynamic-id.md
Description: querySelector 动态 ID 报错怎么办：动态选择器中的特殊字符要用 CSS.escape 后再拼接。 示例可直接复制到浏览器或项目代码中，并附相关教程、工具入口。

## 快速答案

动态选择器中的特殊字符要用 CSS.escape 后再拼接。

```js
const el = document.querySelector(`#${CSS.escape(id)}`);
```

## 使用要点

- 确认代码运行在浏览器环境；如果服务端渲染会执行同一段代码，要把读取逻辑放到客户端生命周期里。
- 处理 URL、Cookie 或存储值时，先约定编码、过期时间和缺省值。

## 相关内容

- [JavaScript / TypeScript 问题](/how-to/javascript/)
- [JavaScript 教程](/javascript/)
- [TypeScript 教程](/ts/)
- [JSON Formatter](/tool/json-formatter)
- [JSON Validator](/tool/json-validator)
