Setelah mempelajari AJAX Dasar dan seluruh fitur jQuery sebelumnya, penting bagi pengembang untuk mengikuti Best Practice jQuery. Dengan praktik yang benar, kode menjadi lebih efisien, mudah dibaca, dan mudah dirawat.
Menerapkan Best Practice juga membantu mencegah bug, redundansi, dan masalah performa pada website.
Contents
- 1 1. Gunakan $(document).ready()
- 2 2. Minimalkan Penggunaan Selector Berulang
- 3 3. Gunakan Event Delegation untuk Elemen Dinamis
- 4 4. Chain Method untuk Efisiensi
- 5 5. Gunakan .data() untuk Menyimpan Data
- 6 6. Hapus Event yang Tidak Dibutuhkan
- 7 7. Optimalkan Performa
- 8 8. Contoh Penerapan Best Practice
- 9 9. Kesalahan Umum yang Harus Dihindari
- 10 Kesimpulan
- 11 Related Posts
1. Gunakan $(document).ready()
Pastikan semua kode jQuery dijalankan setelah DOM siap, agar selector tidak gagal.
$(document).ready(function(){
// kode jQuery di sini
});
Atau versi singkat:
$(function(){
// kode jQuery di sini
});
2. Minimalkan Penggunaan Selector Berulang
Jika menggunakan selector yang sama berulang kali, simpan dalam variabel untuk efisiensi.
Contoh Salah:
$("#kotak").css("color", "red");
$("#kotak").hide();
$("#kotak").addClass("aktif");
Contoh Benar:
var $kotak = $("#kotak");
$kotak.css("color", "red");
$kotak.hide();
$kotak.addClass("aktif");
Menggunakan
$di depan variabel adalah konvensi untuk menandai objek jQuery.
3. Gunakan Event Delegation untuk Elemen Dinamis
Jika elemen dibuat dinamis setelah halaman dimuat, gunakan .on() daripada .click().
Contoh:
// Salah: tidak akan bekerja untuk elemen baru
$(".btn-dinamis").click(function(){ ... });
// Benar: event delegation
$(document).on("click", ".btn-dinamis", function(){
alert("Tombol diklik!");
});
4. Chain Method untuk Efisiensi
jQuery mendukung chaining, sehingga kode lebih ringkas.
Contoh:
$("#kotak").css("color", "red")
.slideUp(500)
.slideDown(500);
5. Gunakan .data() untuk Menyimpan Data
Daripada menyimpan data di atribut HTML, gunakan .data() untuk menyimpan informasi sementara.
$("#kotak").data("warna", "merah");
// Mengambil data
var warna = $("#kotak").data("warna");
alert(warna);
6. Hapus Event yang Tidak Dibutuhkan
Untuk menghindari memory leak, hapus event yang tidak dipakai dengan .off().
$("#btn").off("click");
7. Optimalkan Performa
- Minimalkan manipulasi DOM dalam loop
- Cache selector
- Gunakan class/id spesifik untuk selector
- Gunakan event delegation jika banyak elemen
8. Contoh Penerapan Best Practice
<!DOCTYPE html>
<html>
<head>
<title>Best Practice jQuery</title>
<style>
#kotak { width: 200px; height: 100px; background-color: lightblue; margin: 20px; text-align: center; line-height: 100px; }
.aktif { background-color: yellow; border: 2px solid red; }
</style>
</head>
<body>
<div id="kotak">Kotak</div>
<button id="btnToggle">Toggle Class</button>
<script src="https://code.jquery.com/jquery-3.7.1.min.js"></script>
<script>
$(function(){
// Cache selector
var $kotak = $("#kotak");
var $btn = $("#btnToggle");
// Event delegation (meskipun statis, ini contoh best practice)
$(document).on("click", "#btnToggle", function(){
$kotak.toggleClass("aktif");
});
});
</script>
</body>
</html>
9. Kesalahan Umum yang Harus Dihindari
- ❌ Selector tidak spesifik → memperlambat halaman
- ❌ Tidak menggunakan
$(document).ready()→ kode error - ❌ Manipulasi DOM berulang tanpa caching
- ❌ Menggunakan event
.click()pada elemen dinamis
Kesimpulan
Pada Bab 16: Best Practice jQuery, Anda telah mempelajari tips dan teknik untuk menulis kode jQuery yang:
- Efisien
- Mudah dibaca
- Mudah dirawat
- Performa optimal
Menerapkan Best Practice akan membuat proyek jQuery Anda lebih profesional dan scalable.