جِی‌کوئری (به انگلیسی: jQuery) یک کتابخانه جاوااسکریپت سبک‌وزنِ چند مرورگری است که برای ساده سازیِ نوشتنِ اسکریپ‌هایِ سمت-مشتری یا به عبارتی سمت Client، در صفحات وب طراحی شده و امروزه محبوب‌ترین کتابخانهٔ جاوااسکریپتِ در حال استفاده است.

جی کوئری نرم‌افزار بازمتن و رایگان است که تحت پروانه “MIT” منتشر می‌شود. ساختار کتابخانه جِی‌کوئری به گونه‌ای طراحی شده‌است که دسترسی به عناصر صفحه را آسان‌تر کرده باشد. می‌توان با آن حرکات انیمیشن ایجاد و از رویداد (به انگلیسی: Event) های صفحه استفاده کرد و به وسیله آن می‌توان نرم‌افزارهای مبتنی بر ای‌جکس (به انگلیسی: Ajax) را ایجاد و توسعه داد.
جی‌کوئری همچنین این اختیار را به برنامه نویسان می‌دهد که افزونه‌هایی برای این کتابخانه جاوااسکریپت ایجاد کنند. جدا از این‌ها، جی‌کوئری به توسعه دهندگان این اختیار را می‌دهد که تکه برنامه‌های سطحِ پایینِ مبادله‌ای (ارتباط مرورگر با کاربر) یا انیمیشنی و حتی افکت‌های پیشرفته و سطح بالا و اشیاء فرضی را ایجاد کنند. به‌کارگیری همهٔ این اجزای جی‌کوئری کمک می‌کند تا صفحات وب قدرتمند و داینامیک (پویا)، راحت‌تر ایجاد شوند.

جی‌کوئری چیست ؟

ویژگی‌ها

جی‌کوئری شامل ویژگی‌های زیر است:

  • دسترسی به عناصر موجود در پرونده و تغییر در آنها.
  • کنترل آسان و قدرتمند تر رویدادها (Events).
  • تغییر در آرایش و چینش صفحه (دقیقا کاری که با CSS انجام میشود).
  • ایجاد افکت و حرکات انیمیشن.
  • توسعهٔ افزونه‌هایی بر پایه جی‌کوئری.

استفاده

کتابخانهٔ جی‌کوئری معمولاً (بدون افزونه) تنها یک فایل جاوااسکریپت است. فایل جی‌کوئری را می‌توان به شیوه‌های مختلفی به صفحه وب متصل کرد.

استفاده از رابط برنامه‌نویسی گوگل برای اضافه کردن جی‌کوئری

استفاده از شبکه توزیع محتوای گوگل برای اضافه کردن جی‌کوئری

استفاده از شبکه توزیع محتوای مایکروسافت برای اضافه کردن جی‌کوئری

استفاده از محتوای جِی‌کوئری

دسترسی و انجام تغییرات بر روی یک گروه از عناصر صفحه (DOM) با تابع $ شروع می‌شود و به همراه آن یک رشته انتخاب گر (Selector) سی‌اس‌اس می‌آید که در نتیجه، جی‌کوئری می‌تواند به عناصر صفحهٔ وب دسترسی پیدا کند و ان‌ها را تغییر دهد.

در این نمونه کد ساده، با استفاده از تابع $ ، عناصری که خواهان اعمال تغییر روی آن ها هستیم را انتخاب کردیم. در این مورد، انتخاب ما تمامی تگ های p (پاراگراف) هستند که دارای کلاس “myclass” باشند. سپس با استفاده از تابع hide ، عناصر انتخاب شده را پنهان میکنیم.

تابع each.$ ، روشِ مفید و آسانی است که برای عناصر داخل یک آرایه، یک عمل مشابه را انجام دهیم.

این تابع ارقام ۲۳۴ را در پرونده می‌نویسد.

این امکان وجود دارد که درخواست‌های مبتنی بر اِی‌جکس از طریق ajax.$ و متدهای وابسته تبادل شود:

در بالا برنامه، داده‌های name=john و location=boston را به صفحه some.php ارسال می‌کند و وقتی این درخواست با موفقیت به پایان رسید تابعی فراخوانده می‌شود تا این اتفاقات را به کاربر اعلام کند.

جی‌کوئری چیست ؟تاریخچه نسخه‌ها

Version numberRelease dateLatest updateSize Prod (KB)Additional notes
۱٫۰۲۶ اوت ۲۰۰۶First stable release
۱٫۱۱۴ ژانویه ۲۰۰۷
۱٫۲۱۰ سپتامبر ۲۰۰۷۱٫۲٫۶۵۴
۱٫۳۱۴ ژانویه ۲۰۰۹۱٫۳٫۲۵۵٫۹Sizzle Selector Engine introduced into core
۱٫۴۱۴ ژانویه ۲۰۱۰۱٫۴٫۴۷۶
۱٫۵۳۱ ژانویه ۲۰۱۱۱٫۵٫۲۸۳Deferred callback management, ajax module rewrite
۱٫۶۳ مه ۲۰۱۱۱٫۶٫۴۸۹Significant performance improvements to the attr() and val() functions
۱٫۷۳ نوامبر ۲۰۱۱۱٫۷٫۲ (۲۱ مارس ۲۰۱۲)۹۲New Event APIs: .on() and .off(), while the old APIs are still supported.
۱٫۸۹ اوت ۲۰۱۲۱٫۸٫۳ (۱۳ نوامبر ۲۰۱۲)۹۱٫۴Sizzle Selector Engine rewritten, improved animations and $(html, props) flexibility.
۱٫۹۱۵ ژانویه ۲۰۱۳۱٫۹٫۱ (۴ فوریه، ۲۰۱۳؛ ۵ سال پیش)۹۰Removal of deprecated interfaces and code cleanup
۱٫۱۰۲۴ مه ۲۰۱۳۱٫۱۰٫۲ (۳ ژوئیه ۲۰۱۳)۹۱Incorporated bug fixes and differences reported from both the 1.9 and 2.0 beta cycles
۱٫۱۱۲۴ ژانویه ۲۰۱۴۱٫۱۱٫۳ (۲۸ آوریل ۲۰۱۵)۹۵٫۹
۱٫۱۲۸ ژانویه ۲۰۱۶۱٫۱۲٫۴ (۲۰ مه ۲۰۱۶)۹۵
۲٫۰۱۸ آوریل ۲۰۱۳۲٫۰٫۳ (۳ ژوئیه ۲۰۱۳)۸۱٫۱Dropped IE 6–۸ support for performance improvements and reduction in filesize
۲٫۱۲۴ ژانویه ۲۰۱۴۲٫۱٫۴ (۲۸ آوریل ۲۰۱۵)۸۲٫۴
۲٫۲۸ ژانویه ۲۰۱۶۲٫۲٫۴ (۲۰ مه ۲۰۱۶)۸۵٫۶
۳٫۰۹ ژوئن ۲۰۱۶۳٫۰٫۰ (۹ ژوئن ۲۰۱۶)۸۶٫۳Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible
۳٫۱۷ ژوئیه ۲۰۱۶۳٫۱٫۱ (۲۳ سپتامبر ۲۰۱۶)۸۶٫۳jQuery.readyException added, ready handler errors are now not silenced
۳٫۲۱۶ مارس ۲۰۱۷۳٫۲٫۱ (۲۰ مارس ۲۰۱۷)۸۴٫۶Added support for retrieving contents of <template> elements, and deprecation of various old methods.
۳٫۳۱۹ ژانویه ۲۰۱۸۳٫۳٫۱ (۲۰ ژانویه ۲۰۱۸)۸۴٫۸Deprecation of old functions, functions that accept classes now also support them in array format.