javascript - 我想知道为什么会出现这个 id 问题
问题描述
如果我这样写
const title = document.getElementById("title");
function handleClick() {
title.style.color = "red";
}
title.addEventListener("click", handleClick);
它有效,但如果我这样写
const title = document.getElementById("#title");
function handleClick() {
title.style.color = "red";
}
title.addEventListener("click", handleClick);
它不起作用。请解释为什么会发生这种情况,谢谢。
解决方案
你可能有一些 html 之类的;
<div id='title'>My Title</div>
在这里,document.getElementById("title")
将起作用,因为title
匹配id
.
但是,如果您这样做:
document.getElementById("#title")
#title
与 的 不匹配id
,<div>
因为它应该是id='#title'
const test_1 = document.getElementById('title');
const test_2 = document.getElementById('#title');
console.log(test_1); // OK -> id='title' does match .getElementById('title')
console.log(test_2); // NULL -> id='title' does NOT match .getElementById('#title')
<div id='title'>
推荐阅读
- python - 如何让python接受来自多行的输入?
- angular - 两个声明的 Angular 组件部分
- postgresql - 当应用程序可能尝试为独立但同时的进程创建临时表时,使用临时表是否安全?
- python - Google Dataflow python中的API版本BigQuery
- ruby-on-rails - 从 ActionController::UnpermittedParameters 救援
- jquery - jQuery 使用 Array 和 if/else if 根据另一个单元格的值设置表格单元格的值
- ios - DidSelectRowAtIndextPath 给了我错误的细节
- android - 适用于 Android 的 rxJava2 中的可观察 zip
- python - 如何根据从另一个表中给出的 id 获取列的值
- javascript - 精简反应过滤功能