javascript - 即使未指定 id,JavaScript DOM 元素是否也有唯一标识符?

标签 javascript html

在下面的代码示例中,有 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/

相关文章:

javascript - 正则表达式删除第一个字母,如果它是 k 和最后一个下划线之后的所有内容(包括下划线)

javascript - 如何在安全或非安全 http 请求上获取 location.href

html - 如何在CSS中横向填充?

html - 我在 CSS 中的媒体查询没有切换容器

javascript - JS中切换div问题

javascript - 什么是react js的学习方式?

javascript - X 次访问后隐藏 div(cookie)

javascript - 如何在 AngularJS 组件中绑定(bind)多个单词属性

javascript - HTML5 在javascript中的两个div/点之间绘制圆弧

javascript - 使用数据表进行高级搜索