Kodlama konusunda oldukça yetkinim, ancak zaman zaman temelde aynı şeyi yapıyor gibi görünen kodlarla karşılaşıyorum. Buradaki asıl sorum şu: Neden .append()
yerine .after()
ya da tam tersini kullanıyorsunuz?
Araştırıyorum ve ikisi arasındaki farklara ve ne zaman kullanıp ne zaman kullanmayacağıma dair net bir tanım bulamıyorum.
Birinin diğerine göre avantajları nelerdir ve ayrıca neden diğerini değil de birini kullanmalıyım? Lütfen birisi bana bunu açıklayabilir mi?
var txt = $('#' + id + ' span:first').html();
$('#' + id + ' a.append').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').append(txt);
});
$('#' + id + ' a.prepend').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').prepend(txt);
});
$('#' + id + ' a.after').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').after(txt);
});
$('#' + id + ' a.before').live('click', function (e) {
e.preventDefault();
$('#' + id + ' .innerDiv').before(txt);
});
.append()veriyi
son dizindeki bir öğenin içine koyar ve .prepend()
elemanı ilk indeks
e yerleştirir
<div class='a'> //<---you want div c to append in this
<div class='b'>b</div>
</div>
$('.a').append($('.c'));
infazdan sonra:
<div class='a'> //<---you want div c to append in this
<div class='b'>b</div>
<div class='c'>c</div>
</div>
$('.a').prepend($('.c'));
infazdan sonra:
<div class='a'> //<---you want div c to append in this
<div class='c'>c</div>
<div class='b'>b</div>
</div>
.after()elemanı elemandan sonra koyar .before()
öğeyi öğenin önüne koyar
$('.a').after($('.c'));
infazdan sonra:
<div class='a'>
<div class='b'>b</div>
</div>
<div class='c'>c</div> //<----this will be placed here
$('.a').before($('.c'));
infazdan sonra:
<div class='c'>c</div> //<----this will be placed here
<div class='a'>
<div class='b'>b</div>
</div>
append()&
prepend()bir elemanın içine içerik eklemek (içeriği onun çocuğu yapmak) içindir,
after()&
before()` ise bir elemanın dışına içerik eklemek (içeriği onun kardeşi yapmak) içindir.
En iyi yol belgelendirmeye gitmektir.
.append()
vs .after()
append()
: Parametre tarafından belirtilen içeriği, eşleşen öğeler kümesindeki her öğenin sonuna ekler.after()
: Parametre tarafından belirtilen içeriği, eşleşen öğeler kümesindeki her öğeden sonra ekleyin. .prepend()
vs .before()
prepend()
: Parametre tarafından belirtilen içeriği, eşleşen öğeler kümesindeki her öğenin başına ekler.before()
: Parametre tarafından belirtilen içeriği, eşleşen öğeler kümesindeki her öğeden önce ekler.Dolayısıyla, append ve prepend nesnenin çocuğuna atıfta bulunurken, after ve before nesnenin kardeşine atıfta bulunur.