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') // تم اختيار 3 a، جميعها عناصر jq (يمكن استخدام خصائصها، طرقها).

$('.a').eq(1) // تم اختيار ثاني a، هي عنصر jq (لا يمكن استخدام خصائصها أو طرقها، يمكن استخدام خصائص jq أو طرقها).

$('.a')[1] // تم اختيار ثاني a، هي عنصر DOM (يمكن استخدام خصائصها، طرقها، لا يمكن استخدام خصائص jq أو طرقها).

$('.a').eq(1)[0] // تم اختيار ثاني a، وأصبحت جميعها عناصر DOM (يمكن استخدام خصائصها، طرقها، لا يمكن استخدام خصائص jq أو طرقها).

----- يمكن رؤية أن jQuery تغطي طبقة أخرى من JS، يمكن فك属性 jq للوصول إلى属性 DOM، بينما لا يمكن استخدام طريقة jq على DOM.

$('.a')[0].eq(1) // خطأ، لأنه لا يمكن استخدام طرق jq على عناصر DOM، eq() هي طريقة jq.

هذا هو كل محتوى الحديث البسيط عن الفرق بين eq() في jQuery و element.[] في DOM، نأمل أن تحصلوا على الدعم الكبير لتعليماتنا~

مفضل لك