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

浅谈jQuery中的eq()与DOM中element.[]的区别

Come indicato di seguito:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Titolo</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') // È stato selezionato 3 a, sono tutti oggetti jq (può utilizzare proprietà e metodi jq)

$('.a').eq(1) // È stato selezionato il secondo a, è un oggetto jq (non può utilizzare proprietà e metodi DOM, può utilizzare proprietà e metodi jq)

$('.a')[1] // È stato selezionato il secondo a, è un oggetto DOM (può utilizzare proprietà e metodi DOM, non può utilizzare proprietà e metodi jq)

$('.a').eq(1)[0] // È stato selezionato il secondo a e convertito in oggetti DOM (può utilizzare proprietà e metodi DOM, non può utilizzare proprietà e metodi jq)

----- Da ciò si può vedere che jQuery ha nuovamente impacchettato JS, le proprietà jq possono essere smantellate per chiamare le proprietà DOM, mentre DOM non può chiamare i metodi delle proprietà jq.

$('.a')[0].eq(1) // Errore, perché l'oggetto DOM non può utilizzare i metodi jq, eq() è un metodo jq.

Questo è tutto il contenuto dell'approfondimento su jQuery eq() e la differenza con element.[] nel DOM che ti ho portato, spero che tu mi supporti con il tuo applauso~