Mengelola Class dan Atribut Elemen HTML Secara Dinamis dengan jQuery

By | 14 November 2025

Mengelola class dan atribut elemen HTML secara dinamis dengan jQuery adalah kemampuan penting untuk membuat halaman web lebih interaktif dan responsif. Dengan jQuery, Anda bisa menambah kelas, mengganti atribut, hingga memanipulasi properti DOM hanya dengan satu baris kode, tanpa harus menggunakan JavaScript panjang yang sulit dibaca. Teknik ini sangat berguna untuk dropdown, efek hover, form dinamis, modifikasi tampilan, dan berbagai elemen UI lainnya. Dalam pengembangan web modern, tampilan dan perilaku elemen HTML tidak selalu statis. Banyak elemen UI yang berubah saat pengguna melakukan aksi tertentu seperti klik, hover, atau input data. Misalnya, tombol yang berubah warna saat dihover, form yang menampilkan pesan error secara otomatis, atau menu yang muncul ketika ikon ditekan. Semua interaksi ini dapat dibuat dengan mudah menggunakan jQuery.

Salah satu kekuatan terbesar jQuery adalah kemampuannya memanipulasi class dan atribut HTML secara dinamis. Dengan sintaks yang ringkas dan mudah dipahami, jQuery memungkinkan pengembang mengubah tampilan dan fungsi elemen tanpa harus menulis JavaScript panjang dan rumit. Tutorial ini akan membahas teknik-teknik penting untuk mengelola class serta atribut HTML menggunakan jQuery.

Apa Itu Manipulasi Class dan Atribut HTML?

a. Manipulasi Class

Class HTML biasanya digunakan untuk styling atau mengikat behavior tertentu. Dengan jQuery, Anda dapat:

  • Menambah class baru

  • Menghapus class yang sudah ada

  • Mengganti class tertentu

  • Memeriksa apakah sebuah elemen memiliki class

Teknik ini sangat berguna untuk animasi, validasi form, responsive behavior, dan banyak komponen interaktif lainnya.

b. Manipulasi Atribut HTML

Atribut adalah bagian penting dari elemen HTML, seperti:

  • src (pada <img>)

  • href (pada <a>)

  • disabled (pada tombol & input)

  • value (pada input field)

  • id, title, alt, dll.

Dengan jQuery, Anda bisa mengubah atribut ini secara real-time.

Menggunakan .addClass() untuk Menambahkan Class

Menambahkan class HTML menggunakan jQuery sangat mudah:

$("#btn").click(function() {
    $("#box").addClass("active");
});

Class active bisa berisi styling seperti:

.active {
    background-color: #3490dc;
    color: white;
}

Teknik ini umum dipakai untuk:

  • Memberi efek highlight

  • Menampilkan elemen tersembunyi

  • Mengubah tampilan button saat di-klik

Menghapus Class dengan .removeClass()

Jika ingin mengembalikan tampilan ke kondisi sebelumnya:

$("#btnRemove").click(function() {
    $("#box").removeClass("active");
});

Sangat berguna untuk:

  • Menutup menu

  • Menghilangkan status error

  • Menghapus styling sementara

Mengganti Class dengan .toggleClass()

Daripada menambah dan menghapus class secara manual, gunakan:

$("#toggle").click(function() {
    $("#box").toggleClass("active");
});

Perilaku ini otomatis:

  • Jika class ada → dihapus

  • Jika class belum ada → ditambahkan

.toggleClass() sangat populer untuk:

  • Dropdown

  • Sidebar

  • Light/dark mode

  • Efek klik

Memeriksa Apakah Elemen Memiliki Class

Gunakan .hasClass():

if ($("#box").hasClass("active")) {
    console.log("Class aktif!");
}

Biasanya digunakan dalam kondisi tertentu, misalnya:

  • Cek apakah modal sedang terbuka

  • Cek status menu mobile

  • Cek apakah form error muncul

Mengubah Atribut HTML dengan .attr()

Anda bisa menambah, membaca, atau mengubah atribut HTML.

a. Mengubah atribut

$("img").attr("src", "gambar-baru.jpg");

b. Membaca atribut

let link = $("a").attr("href");

c. Menambah atribut baru

$("#box").attr("title", "Ini kotak interaktif");

Menghapus Atribut dengan .removeAttr()

$("#btn").removeAttr("disabled");

Contoh kasus:

  • Mengaktifkan tombol setelah form valid

  • Menghapus atribut readonly

  • Menonaktifkan keamanan input tertentu (dengan tetap berhati-hati)

Mengelola Properti Form dengan .prop()

Berbeda dengan .attr(), fungsi .prop() digunakan untuk atribut boolean seperti:

  • checked

  • selected

  • disabled

Contoh:

a. Checkbox otomatis tercentang

$("#agree").prop("checked", true);

b. Disable tombol

$("#submit").prop("disabled", true);

.prop() lebih akurat daripada .attr() untuk properti DOM.

Mengubah Value Input dengan .val()

$("#name").val("Arvian Ti ciamis");

Untuk mengambil datanya:

let name = $("#name").val();

Digunakan untuk:

  • Auto-fill form

  • Menampilkan hasil perhitungan

  • Mengubah data UI tanpa reload

Studi Kasus: Tombol Toggle Tema (Light/Dark Mode)

HTML:

<button id="themeToggle">Ubah Tema</button>
<div id="content">Halo, dunia!</div>

CSS:

.dark {
    background: #1a1a1a;
    color: white;
}

jQuery:

$("#themeToggle").click(function() {
    $("#content").toggleClass("dark");
});

Sekarang halaman bisa berubah tema dalam satu klik.

Studi Kasus: Validasi Form Dengan Class Dinamis

Input error otomatis diberi class khusus:

if ($("#email").val() == "") {
    $("#email").addClass("is-invalid");
} else {
    $("#email").removeClass("is-invalid");
}

Dengan CSS:

.is-invalid {
    border: 1px solid red;
}

Studi Kasus: Slider Gambar Menggunakan Perubahan Atribut

let i = 1;

$("#next").click(function() {
    i++;
    $("#gambar").attr("src", "img/img" + i + ".jpg");
});

Dengan cara ini, galeri gambar bisa berjalan tanpa plugin.

Best Practices Manipulasi Class & Atribut

  1. Gunakan class untuk styling, bukan inline CSS.

  2. Hindari manipulasi atribut yang tidak perlu.

  3. Gunakan .prop() untuk atribut boolean.

  4. Lebih baik tambahkan beberapa class kecil daripada satu class besar.

  5. Gunakan naming class yang konsisten seperti BEM.

  6. Pastikan efek class tidak menyebabkan layout shift berlebihan.

Kesimpulan

Mengelola class dan atribut elemen HTML secara dinamis dengan jQuery memberi kontrol penuh dalam membangun pengalaman pengguna yang lebih interaktif dan responsif. Dengan fitur seperti .addClass(), .removeClass(), .attr(), .prop(), hingga .toggleClass(), Anda dapat memanipulasi tampilan dan perilaku elemen HTML dengan cepat dan efisien. Baik untuk validasi form, animasi, efek UI, dropdown, maupun perubahan tema, jQuery tetap menjadi pilihan yang mudah dan efektif untuk dikombinasikan dalam proyek web modern.