在下面的代码示例中,有 3 个 div 元素,没有一个元素具有 ID,但每个元素都可以通过返回到数组中来唯一访问。我想知道 JavaScript 是如何跟踪它们的?浏览器是否为每个对象分配了唯一的引用?这个独特的引用是可发现的还是某个地方的属性?或者所有这些都是内部处理的?
<!DOCTYPE html>
<html>
<head>
<style type="text/css">
div {
width: 150px;
height: 150px;
background-color: red;
margin: 10px;
}
</style>
</head>
<body>
<div></div>
<div></div>
<div></div>
<script type="text/javascript">
var divArray = document.getElementsByTagName("div");
for (var i=0; i<divArray.length; i++){
divArray[i].onclick = function(){
this.style.display = "none";
}
}
</script>
</body>
</html>
最佳答案
“this”关键字与 jQuery 无关,它是实际发生某事的当前上下文的 JavaScript 通用名称/ID。
当单击某个元素并且有一个单击事件监听器时 - this 关键字将准确指向单击的元素,并且可以用作感兴趣对象的通用句柄。
JavaScript 中发生的所有事情都将发生在特定的上下文中或(当涉及 DOM 时)特定的对象/元素。
因此,当主题已经存在或者是流程或对其采取的操作的主要参与者时,就不需要 ID 或名称。
关于javascript - 即使未指定 id,JavaScript DOM 元素是否也有唯一标识符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41475588/