English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Breve discusión sobre la diferencia entre eq() en jQuery y element.[] en DOM

como se muestra a continuación:

!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Title</title>
</head>
<body>
  <a class="a">#1</a>
  <a class="a">#2</a>
  <a class="a">#3</a>
  <script src="js/jq.js"></script>
  <script>
    var a = $('.a') ;
    var b = $('.a').eq(1) ;
    var c = $('.a')[1);
    var d = $('.a').eq(1)[0];
    var f = $('.a')[0].eq(1);
  </script>
</body>
</html>

$('.a')  // Se seleccionó3a, todos son objetos jq (se pueden usar propiedades y métodos jq).

$('.a').eq(1) // Se seleccionó el segundo a, es un objeto jq (no se pueden usar propiedades y métodos de dom, se pueden usar propiedades y métodos jq).

$('.a')[1]  // Se seleccionó el segundo a, es un objeto dom (se pueden usar propiedades y métodos de dom, no se pueden usar propiedades y métodos jq).

$('.a').eq(1)[0]  // Se seleccionó el segundo a y se convirtió en objetos dom (se pueden usar propiedades y métodos de dom, no se pueden usar propiedades y métodos jq).

-----Por lo tanto, jQuery again envuelve JS, las propiedades jq pueden desempaquetarse para llamar a las propiedades de DOM, mientras que DOM no puede llamar a las propiedades y métodos de jq.

$('.a')[0].eq(1) // Error, porque el objeto DOM no puede usar métodos jq, eq() es un método jq.

Esto es todo lo que les presento brevemente sobre la diferencia entre eq() en jQuery y element.[] en DOM, esperamos que todos lo apoyen y griten tutorial ~

Te gustará