测试代码
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>document中存在相同id</title>
<style>
#demo{
color:red;
}
</style>
</head>
<body>
<p id="demo">单击按钮来改变这一段中的文本。</p>
<div id="demo">单击按钮来改变这一段中的文本。</div>
<p id="demo">单击按钮来改变这一段中的文本。</p>
<button onclick="myFunction()">点我</button>
<script>
function myFunction(){
document.getElementById("demo").innerHTML=document.getElementById("demo");
//document.querySelector("#demo").innerHTML=document.querySelector("#demo");
//document.querySelector("#demo").innerHTML=document.querySelectorAll("#demo");
};
</script>
</body>
</html>
运行结果
定义
id是元素的属性,大小写敏感的字符串,在整个document中应该是唯一的。
ID选择器
ID选择器,包括CSS选择器
和JS选择器
,当ID不唯一时,通过代码测试和文档,可以得出如下结论:
- 对于CSS选择器,ID选择器对应的所有元素都会受到影响;
- 对于JS选择器,
document.querySelector()
和document.getElementById()
都只会返回第一个
查找到的Element,如果没有则返回null
。如果你想要得到所有的相同id属性的Element可以使用document.querySelectorAll()
。