جی‌کوئری

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

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

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

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

<script type="text/javascript" src="jquery.js"></script>

 استفاده از رابط برنامه‌نویسی گوگل برای اضافه کردن جی‌کوئری 
<script type="text/javascript" src="//google.com/jsapi"></script>

<script>
google.load("jquery", "1.4.2");
</script

 استفاده از شبکه توزیع محتوای گوگل برای اضافه کردن جی‌کوئری 
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.4.2/jquery.min.js"></script>

 استفاده از شبکه توزیع محتوای مایکروسافت برای اضافه کردن جی‌کوئری 
<script src="//ajax.microsoft.com/ajax/jquery/jquery-1.4.2.min.js" type="text/javascript"></script>

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

$("p.myclass").hide();

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

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

$.each([1,2,3], function()
{
  document.write(this + 1);
});
این تابع ارقام ۲۳۴ را در پرونده می‌نویسد.

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

$.ajax({
  type: "POST",
  url: "some.php",
  data: "name=John&location=Boston",
  success: function(msg){
    alert("Data Saved: " + msg);
  }
});

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

 تاریخچه نسخه‌ها 
 Version number Release date Latest update Size 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 ۱٫۷  1.7.2 () ۹۲ New Event APIs: .on() and .off(), while the old APIs are still supported. ۱٫۸  1.8.3 () ۹۱٫۴ Sizzle Selector Engine rewritten, improved animations and $(html, props) flexibility. ۱٫۹  1.9.1 () ۹۰ Removal of deprecated interfaces and code cleanup ۱٫۱۰  1.10.2 () ۹۱ Incorporated bug fixes and differences reported from both the 1.9 and 2.0 beta cycles ۱٫۱۱  1.11.3 () ۹۵٫۹ ۱٫۱۲  1.12.4 () ۹۵ ۲٫۰  2.0.3 () ۸۱٫۱ Dropped IE 6–8 support for performance improvements and reduction in filesize ۲٫۱  2.1.4 () ۸۲٫۴ ۲٫۲  2.2.4 () ۸۵٫۶ ۳٫۰  3.0.0 () ۸۶٫۳ Promises/A+ support for Deferreds, $.ajax and $.when, .data() HTML5-compatible ۳٫۱  3.1.1 () ۸۶٫۳ jQuery.readyException added, ready handler errors are now not silenced ۳٫۲  3.2.1 () ۸۴٫۶ Added support for retrieving contents of <template> elements, and deprecation of various old methods. ۳٫۳  3.3.1 () ۸۴٫۸ Deprecation of old functions, functions that accept classes now also support them in array format.

 جستارهای وابسته 
 جاوااسکریپت محجوب

 پانویس‌هاو مراجع 

رده:ای‌جکس
رده:چارچوب‌های نرم‌افزاری تحت وب
رده:کتابخانه‌های جاوااسکریپت
رده:نرم‌افزارهای ۲۰۰۶ (میلادی)
رده:نرم‌افزارهای دارای اجازه‌نامه ام‌آی‌تی