首页 > 解决方案 > 我想知道为什么会出现这个 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);

它不起作用。请解释为什么会发生这种情况,谢谢。

标签: javascript

解决方案


你可能有一些 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'>


推荐阅读