Sunday, April 8, 2012

JQuery .append(), .prepend(), .before() dan .after()

jQuery .append(), .prepend(), .before() dan .after()

.append(), .prepend(), .before() dan .after(), semua itu adalah fungsi untuk memanipulasi elemen HTML, lebih tepatnya untuk menyisipkan elemen HTML pada target yang telah ditentukan. Hanya saja terdapat beberapa perbedaan pada masing-masing fungsi mengenai di sebelah mana elemen akan ditempelkan saat fungsi-fungsi ini bekerja.

.append() dan .prepend()

Kita mulai dengan .append(). .append() akan menyisipkan elemen ke dalam elemen target dari sebelah bawah. Katakanlah kita memiliki elemen paragraf di dalam elemen divisi seperti ini:

<div>
    <p>Lorem ipsum...</p>
</div>

lalu kita sisipkan sebuah elemen <span> menggunakan jQuery .append() seperti ini:

$('div').append('<span></span>');

maka elemen sisipan tersebut akan muncul di sebelah bawah, di dalam elemen target:

<div>
    <p>Lorem ipsum...</p><span></span></div>

sebaliknya, jika kita menggunakan .prepend(), maka kita akan mendapati elemen akan ditambahkan di sebelah atas:

<div><span></span>    <p>Lorem ipsum...</p>
</div>

Cara kerjanya sebenarnya mirip dengan manipulasi CSS :before dan :after. Hanya saja, dengan JavaScript kita bisa menyisipkan elemen HTML apapun, bukan hanya teks, gambar dan nilai atribut.

.before() dan .after()

Kedua fungsi ini akan menyisipkan elemen bukan dari sebelah dalam, melainkan dari luar elemen target. .before() akan menyisipkan elemen sebelum target, sedangkan .after() akan menyisipkan elemen setelah target:

HTML

<span id='abjad'>B</span>

jQuery

$('span#abjad').before('<span>A</span>');
$('span#abjad').after('<span>C</span>');

Maka hasilnya akan menjadi seperti ini:

<span>A</span><span id='abjad'>B</span><span>C</span>

Coba Sendiri

Labels: ,

15 Comments:

At Monday, April 9, 2012 at 4:51:00 AM GMT+7, Blogger Sinto said...

Uhuiiii Mantappppp oia aku kemaren - kemaren baru bisa nulis script sendiri, lagi iseng gak ada kerjaan ehh nulis script nya bener wahh Hore banget nih \o/ di tambah lagi belajar disini mudah2an makin banyak yang saya bisa kerjakan nanti :-bd

 
At Wednesday, April 11, 2012 at 5:29:00 PM GMT+7, Blogger Sinto said...

Bang aku mau tanya :
jadi gini misalX kita buat kalimat di dalam suatu class atau ID nah setiap kata di dalam Class atau ID tersebut HTML nya ada di dalam jquery jadi kata2 itu di Apit Oleh HTML yang ada di dalam jquery, gimana tuh ngebuatnya N pake' selektor apa..?

 
At Saturday, April 14, 2012 at 6:53:00 AM GMT+7, Blogger ricco said...

berarti dengan fungsi ini kita bisa menyisipkan apa saja yah dengan memanggil variable yang telah di tentukan..
keren-keren..
mantap kawand..

 
At Saturday, April 14, 2012 at 5:20:00 PM GMT+7, Blogger Taufik Nurrohman said...

@system of blog Mungkin maksudnya pakai .html()
Sisipkan elemen span ke dalam elemen #container secara otomatis:

$('#container').html('<span>Teks di dalam kode HTML begini maksudnya?</span>');

 
At Saturday, April 14, 2012 at 8:50:00 PM GMT+7, Blogger Sinto said...

@Taufik Nurrohman Bukan gitu bang, tapi span itu otomatis ada di dalam teks yang ada di dalam ID tersebut misalX kita nulis, ini ibu budi, nah kata - kata tersebut sudah di apit oleh html span yang ada di Jquery gitu maksud saya

 
At Saturday, April 14, 2012 at 10:29:00 PM GMT+7, Blogger Taufik Nurrohman said...

@system of blog Hmmmhh... =p*

 
At Sunday, April 15, 2012 at 6:52:00 AM GMT+7, Blogger Sinto said...

@Taufik Nurrohman Jadi gimana tu bang. . . ? kok Hmmm :Ozz

 
At Sunday, April 15, 2012 at 10:05:00 AM GMT+7, Blogger Taufik Nurrohman said...

@system of blog Cuma merasa kurang begitu paham saja sama pertanyaanmu. Kode yang Saya tuliskan di atas memang nantinya akan menghasilkan sesuatu seperti ini:

<div id='container'><span>Teks di dalam kode HTML begini maksudnya?</span></div>

 
At Sunday, April 15, 2012 at 6:42:00 PM GMT+7, Anonymous Anonymous said...

Jadi gini bang misalnya kita tulis di Jquery begini
.html('<span>,</span>').
maka otomatis kata kata yang ada di
<div id='container'>disini kata katanya terkena SPAN</div>
Jadi Kita Gak perlu Nulis kata - katanya di Jquery gitu Lo Bang Maksud saya.

 
At Sunday, April 15, 2012 at 9:44:00 PM GMT+7, Blogger Taufik Nurrohman said...

@sin1aja Oh, itu memakai .wrapInner() :)

$('#container').wrapInner('<span></span>');

Demo: http://jsfiddle.net/tovic/2CueT/1/

 
At Monday, April 16, 2012 at 5:45:00 AM GMT+7, Blogger Sinto said...

@Taufik Nurrohman oh iya bang, kalau span nya ada di setiap 1 huruf rumit gak tuh pembuatannya, jadi setiap 1 huruf di apit oleh span

 
At Monday, April 16, 2012 at 10:00:00 AM GMT+7, Blogger Taufik Nurrohman said...

@system of blog Wow, luar biasa mas! Mau mencoba bikin LetteringJS sendiri ya? Saya malah belum pernah kepikiran. Ini Saya temukan dari Stackoverflow. Cuma selektornya memang masih memakai selektor CSS3 :nth-child(n). Sepertinya ini akan Saya dokumentasikan di snippet:

$('.splitWord').children().andSelf().contents().each(function() {
if (this.nodeType == 3) {
$(this).replaceWith(
$(this).text().replace(/(\w)/g, "<span>$&</span>")
);
}
});


Demo: http://jsfiddle.net/tovic/2CueT/2/
Konsep: http://stackoverflow.com/questions/5754450/wrap-each-char-in-except-tags-with-jquery

 
At Monday, April 16, 2012 at 12:09:00 PM GMT+7, Blogger Sinto said...

@Taufik Nurrohman Ah gak juga orang aku gak terlalu ngerti script gimana mau bikin lettering js sendiri wkwkkk Mantep deh Langsung ke JSfiddle nih praktek2 bentar :)

 
At Friday, April 12, 2013 at 11:03:00 PM GMT+7, Blogger Muh. Nasrul said...

mmmm....

 
At Monday, May 8, 2017 at 1:56:00 PM GMT+7, Blogger X said...

:-bd

 

Post a Comment

<< Home