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

Краткое изложение различий между eq() в jQuery и element.[] в DOM

Как показано ниже:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <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') // Выбраны три a, это объекты jQuery (можно использовать свойства и методы jQuery).

$('.a').eq(1) // Выбран втройной a, это объект jQuery (нельзя использовать свойства и методы DOM, можно использовать свойства и методы jQuery).

$('.a')[1] // Выбран втройной a, это объект DOM (можно использовать свойства и методы DOM, но нельзя использовать свойства и методы jQuery).

$('.a').eq(1)[0] // Выбран втройной a, и преобразован в объекты DOM (можно использовать свойства и методы DOM, но нельзя использовать свойства и методы jQuery).

Таким образом, jQuery снова обернул JavaScript, можно剥离包装 и вызвать свойства DOM, в то время как DOM не может вызывать свойства и методы jQuery.

$('.a')[0].eq(1) // Ошибка, потому что объект DOM не может использовать методы jQuery, eq() - это метод jQuery.

Вот и все, что я хотел рассказать вам о различиях между eq() в jQuery и element.[] в DOM. Надеюсь, вам это поможет, и вы поддержите tutorial!

Основной учебник
Вам может понравиться