DeveloperBreeze

jQuery هي مكتبة JavaScript خفيفة الوزن تساعد في تبسيط التعامل مع الـ DOM (Document Object Model)، التلاعب بالعناصر، إدارة الأحداث، والتحكم في التأثيرات المرئية بطريقة سهلة وسلسة. تم تصميم jQuery لجعل JavaScript أكثر سهولة وفعالية، خصوصًا للمطورين المبتدئين أو لأولئك الذين يرغبون في تجنب كتابة كود JavaScript طويل ومعقد.

في هذا الدليل، سنتعرف على الأساسيات وكيفية استخدام jQuery للتفاعل مع عناصر HTML، التعامل مع الأحداث، وإضافة التأثيرات.


1. ما هي jQuery؟

jQuery هي مكتبة JavaScript مفتوحة المصدر تم تصميمها لجعل التعامل مع الـ DOM أسهل وأكثر مرونة. تقدم jQuery دوال وأدوات تتيح للمطورين كتابة أكواد بسيطة وسهلة الفهم للتفاعل مع صفحات الويب. على سبيل المثال، يمكنك كتابة كود بسيط في jQuery لتحديد عنصر HTML وإجراء عمليات عليه مثل إضافة تأثيرات، التعامل مع الأحداث، أو إرسال طلبات AJAX.


2. كيفية إضافة jQuery إلى مشروعك

هناك عدة طرق لإضافة jQuery إلى مشروعك:

الطريقة الأولى: باستخدام CDN

أبسط طريقة هي استخدام شبكة توزيع المحتوى (CDN) لتحميل jQuery.

<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

الطريقة الثانية: تحميل jQuery محليًا

يمكنك أيضًا تنزيل jQuery واستضافة الملف محليًا في مشروعك:

  1. قم بتنزيل مكتبة jQuery من الموقع الرسمي jQuery.
  2. أضف الملف إلى مشروعك وأدرجه في صفحة HTML.
<script src="path/to/jquery.min.js"></script>

3. تحديد العناصر في jQuery

أحد أبرز ميزات jQuery هو قدرتها على تبسيط عملية تحديد العناصر والتفاعل معها. لتحديد عنصر في jQuery، نستخدم $()، وهو الرمز الأساسي المستخدم في المكتبة.

مثال:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>مثال على jQuery</title>
</head>
<body>

    <h1>مرحبًا بك!</h1>
    <button id="myButton">انقر هنا</button>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        // تحديد الزر والتفاعل معه
        $('#myButton').click(function() {
            alert('تم النقر على الزر!');
        });
    </script>
</body>
</html>

شرح الكود:

  • نستخدم $('#myButton') لتحديد الزر الذي يحتوي على المعرف myButton.
  • نستخدم .click() لتحديد حدث "click" الذي سيحدث عند النقر على الزر.
  • عندما يتم النقر، يتم عرض رسالة تحذيرية (alert).

4. التفاعل مع DOM باستخدام jQuery

يمكنك استخدام jQuery للتفاعل مع عناصر HTML وتعديلها بسهولة. يمكنك تغيير النصوص، إضافة فئات CSS، إخفاء العناصر، والمزيد.

تغيير النصوص والمحتوى:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>تغيير النص باستخدام jQuery</title>
</head>
<body>

    <h1 id="title">عنوان الصفحة</h1>
    <button id="changeText">تغيير النص</button>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $('#changeText').click(function() {
            $('#title').text('تم تغيير العنوان!');
        });
    </script>
</body>
</html>

شرح الكود:

  • عند النقر على الزر، سيتم تغيير نص العنصر h1 إلى "تم تغيير العنوان!" باستخدام .text().

إضافة وحذف فئات CSS:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>إضافة CSS باستخدام jQuery</title>
    <style>
        .highlight {
            background-color: yellow;
        }
    </style>
</head>
<body>

    <p id="paragraph">هذا نص بسيط.</p>
    <button id="toggleHighlight">تبديل اللون</button>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $('#toggleHighlight').click(function() {
            $('#paragraph').toggleClass('highlight');
        });
    </script>
</body>
</html>

شرح الكود:

  • عند النقر على الزر، سيتم إضافة أو حذف الفئة highlight إلى الفقرة، مما يغير لون الخلفية.

5. التعامل مع الأحداث في jQuery

واحدة من أقوى ميزات jQuery هي التعامل مع الأحداث بسهولة. يمكنك استخدام العديد من الأحداث مثل "click"، "hover"، "keyup"، والمزيد.

مثال على حدث "hover":

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>حدث hover باستخدام jQuery</title>
</head>
<body>

    <div id="box" style="width: 100px; height: 100px; background-color: blue;"></div>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $('#box').hover(
            function() {
                $(this).css('background-color', 'red');
            },
            function() {
                $(this).css('background-color', 'blue');
            }
        );
    </script>
</body>
</html>

شرح الكود:

  • عندما يحوم المستخدم فوق المربع، سيتغير لون الخلفية إلى الأحمر.
  • عندما يزيل المستخدم الفأرة، سيعود اللون إلى الأزرق.

6. تأثيرات jQuery

jQuery تجعل من السهل إضافة التأثيرات المرئية إلى تطبيقات الويب. يمكنك إضافة تأثيرات مثل الإظهار والإخفاء، التلاشي، والتحريك.

تأثير الإخفاء والإظهار:

<!DOCTYPE html>
<html lang="ar">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>إخفاء وإظهار باستخدام jQuery</title>
</head>
<body>

    <p id="text">هذا نص يمكن إخفاؤه أو إظهاره.</p>
    <button id="toggleText">تبديل العرض</button>

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
    <script>
        $('#toggleText').click(function() {
            $('#text').toggle();
        });
    </script>
</body>
</html>

شرح الكود:

  • عند النقر على الزر، سيتم إخفاء النص إذا كان ظاهرًا، أو إظهاره إذا كان مخفيًا باستخدام .toggle().

تأثير التلاشي:

$('#text').fadeOut();  // تلاشي العنصر
$('#text').fadeIn();   // إظهار العنصر مرة أخرى

7. إرسال واستقبال البيانات باستخدام AJAX

jQuery تجعل التعامل مع AJAX بسيطًا للغاية. يمكنك إرسال طلبات HTTP إلى الخادم واستلام البيانات دون الحاجة إلى إعادة تحميل الصفحة.

مثال على استخدام $.ajax() لجلب البيانات:

$.ajax({
    url: 'https://jsonplaceholder.typicode.com/users/1',
    method: 'GET',
    success: function(data) {
        console.log('الاسم:', data.name);
    },
    error: function() {
        console.error('حدث خطأ');
    }
});

8. الخاتمة

مكتبة jQuery هي أداة قوية لتبسيط التعامل مع JavaScript، خاصة عندما يتعلق الأمر بالتفاعل مع DOM وإضافة التأثيرات. على الرغم من أن JavaScript الحديثة توفر بعض الوظائف التي كانت jQuery تتميز بها، إلا أنها لا تزال مفيدة في تسريع تطوير التطبيقات البسيطة أو المشاريع القديمة.

من خلال تعلم الأساسيات مثل تحديد العناصر، التعامل مع الأحداث، استخدام التأثيرات، وإرسال طلبات AJAX، يمكنك استخدام jQuery لتطوير تطبيقات ويب تفاعلية وفعالة بسهولة.


نصائح إضافية:

  1. استمر في التعلم: جرب كل دالة من دوال jQuery لفهم كيفية التعامل مع العناصر بشكل أفضل.
  2. استخدام الأدوات المتقدمة: إذا كنت مطورًا متقدمًا، يمكنك دمج jQuery مع مكتبات أخرى مثل jQuery UI لإضافة وظائف أكثر تعقيدًا.
  3. استكشاف بدائل jQuery: على الرغم من قوة jQuery، يمكن أن يكون تعلم JavaScript الحديثة مثل ES6+ ضروريًا لبعض المشاريع الكبيرة.

Continue Reading

Discover more amazing content handpicked just for you

Article

العمل الحر والربح من البرمجة

  • مستقل: الأكبر في العالم العربي، التعامل فيها باللغة العربية.
  • خمسات: مناسبة لبناء التقييمات من خلال خدمات مصغّرة.
  • بحر: منصة سعودية مخصصة للمهنيين المحليين.
  • تطوير الويب: مواقع إلكترونية، تطبيقات ويب، مشاريع Full-stack.
  • تطبيقات الهاتف: تطبيقات Android وiOS وHybrid.
  • تحليل البيانات والذكاء الاصطناعي: لوحات بيانات، تعلم آلة، نماذج ذكية.
  • أتمتة المهام: سكربتات برمجية لأداء وظائف متكررة.
  • مشاريع متخصصة: مثل تطوير الألعاب، IoT، تقنيات البلوكشين.

Mar 29, 2025
Read More
Tutorial
javascript

JavaScript in Modern Web Development

  • Frameworks and libraries like React, Angular, and Vue.js make it easier to build Single Page Applications (SPAs).
  • Examples: Gmail, Netflix, Trello.
  • With Node.js, JavaScript powers the back-end to handle databases, APIs, and server logic.
  • Examples: REST APIs, real-time collaboration tools like Google Docs.

Dec 10, 2024
Read More
Code
javascript

Dynamic and Responsive DataTable with Server-Side Processing and Custom Styling

  • The columns array specifies how data fields (e.g., username, points) map to table columns.
  • language.emptyTable: Custom message displayed when no data is available.

Oct 24, 2024
Read More
Tutorial
javascript css +1

دليل شامل لتطوير الويب: بناء موقع بسيط باستخدام HTML, CSS وJavaScript

body {
    font-family: 'Arial', sans-serif;
    margin: 0;
    padding: 0;
    background-color: #f4f4f4;
}

header {
    background-color: #333;
    color: white;
    padding: 15px 0;
    text-align: center;
}

nav ul {
    list-style: none;
    padding: 0;
}

nav ul li {
    display: inline;
    margin: 0 10px;
}

nav ul li a {
    color: white;
    text-decoration: none;
    font-weight: bold;
}

section {
    padding: 20px;
    background-color: white;
    margin: 10px 0;
}

h2 {
    color: #333;
}

footer {
    background-color: #333;
    color: white;
    text-align: center;
    padding: 10px 0;
    position: fixed;
    width: 100%;
    bottom: 0;
}
  • تنسيق الصفحة بالكامل باستخدام body الذي يحدد الخطوط وألوان الخلفية.
  • استخدمنا header لتنسيق الشريط العلوي الذي يحتوي على العنوان.
  • تنسيقات القائمة في nav ul li تظهر الروابط بشكل أفقي.
  • يتم تطبيق التنسيق على الأقسام باستخدام section وh2 لجعل الصفحة تبدو أفضل.
  • footer ثابت في الأسفل بغض النظر عن مكان التمرير في الصفحة.

Sep 27, 2024
Read More
Tutorial
javascript

الفرق بين let و const و var في JavaScript

const PI = 3.14159;
console.log(PI); // 3.14159
PI = 3.14; // TypeError: Assignment to constant variable.
  • نطاق الكتلة: المتغيرات المُعلنة باستخدام const تكون محصورة داخل الكتلة التي تم تعريفها فيها.
  • الثبات: بعد تعيين قيمة للمتغير المُعلَن باستخدام const، لا يمكن تغيير هذه القيمة.
  • المتغيرات المعقدة: بالنسبة للمتغيرات التي تحتوي على كائنات أو مصفوفات، يمكنك تعديل خصائص الكائن أو عناصر المصفوفة، ولكن لا يمكن إعادة تعيين الكائن أو المصفوفة نفسها.

Sep 26, 2024
Read More
Tutorial
javascript

كيفية بناء تطبيقات تفاعلية باستخدام JavaScript و HTML و CSS

شرح:

  • قمنا بإنشاء نموذج إدخال نص وزر. عندما يقوم المستخدم بإدخال اسمه والضغط على "إرسال"، سيتم عرض رسالة ترحيبية.
  • تم ربط ملفات CSS و JavaScript خارجيًا.

Sep 26, 2024
Read More
Tutorial
javascript

التعامل مع JSON في JavaScript: قراءة البيانات وكتابتها

التعامل مع JSON هو جزء أساسي من تطوير تطبيقات الويب الحديثة. سواء كنت تحتاج إلى جلب البيانات من API أو كتابة بيانات إلى خادم، فإن فهم كيفية قراءة وكتابة JSON سيساعدك في بناء تطبيقات قوية وقابلة للتوسيع.

من خلال هذا الدليل، تعلمنا كيفية تحويل الكائنات إلى JSON باستخدام JSON.stringify()، وكيفية قراءة بيانات JSON باستخدام JSON.parse()، وكذلك كيفية جلب البيانات من API والتعامل مع JSON المعقد.

Sep 26, 2024
Read More
Tutorial
javascript

البرمجة الكائنية (OOP) في JavaScript: المفاهيم الأساسية والتطبيقات

البرمجة الكائنية (OOP) في JavaScript تمنحك القدرة على كتابة كود أكثر تنظيماً وقابلية للصيانة. من خلال الفئات، الكائنات، التغليف، الوراثة، وتعدد الأشكال، يمكنك بناء تطبيقات معقدة بطريقة سهلة ومبسطة. OOP هو مفهوم قوي يساعدك في بناء مشاريع متطورة وقابلة للتوسيع مع مرور الوقت.

نصائح إضافية:

Sep 26, 2024
Read More
Tutorial
javascript

دليل للمبتدئين في JavaScript: تعلم الأساسيات

for (let i = 0; i < 5; i++) {
    console.log("العدد هو: " + i);
}

الدوال هي مجموعة من التعليمات التي يمكن إعادة استخدامها في أماكن مختلفة من البرنامج.

Sep 26, 2024
Read More
Tutorial
javascript

AJAX with JavaScript: A Practical Guide

When working with AJAX, it’s important to handle errors properly. Both XMLHttpRequest and Fetch API provide mechanisms to catch and handle errors.

fetch('https://jsonplaceholder.typicode.com/invalid-url')
    .then(response => {
        if (!response.ok) {
            throw new Error('Network response was not ok');
        }
        return response.json();
    })
    .then(data => {
        console.log(data);
    })
    .catch(error => {
        console.error('There was a problem with the fetch operation:', error);
    });

Sep 18, 2024
Read More
Tutorial
javascript php

Implementing Real-Time Search with Livewire in Laravel

Adding real-time search functionality to your Laravel application can greatly enhance the user experience by allowing users to see search results instantly as they type. In this tutorial, we'll walk through how to build a live search feature using Livewire in Laravel.

  • Basic understanding of Laravel and Livewire
  • A Laravel project with Livewire installed

Aug 14, 2024
Read More

Discussion 0

Please sign in to join the discussion.

No comments yet. Start the discussion!