Saya menggunakan jQuery.append () untuk menambahkan beberapa elemen secara dinamis. Apakah ada cara untuk mendapatkan koleksi atau array jQuery dari elemen yang baru disisipkan ini?
Jadi saya ingin melakukan ini:
$("#myDiv").append(newHtml);
var newElementsAppended = // answer to the question I'm asking
newElementsAppended.effects("highlight", {}, 2000);
Jawaban:
Ada cara yang lebih sederhana untuk melakukan ini:
Ini membalikkan keadaan dengan pertama kali membuat
newHtml
denganjQuery(html [, ownerDocument ])
, dan kemudian menggunakanappendTo(target)
(perhatikanTo
bit " " untuk menambahkannya ke akhir#mydiv
.Karena Anda sekarang mulai dengan
$(newHtml)
hasil akhir dari ituappendTo('#myDiv')
adalah sedikit html baru, dan.effects(...)
panggilan akan juga pada bit baru html itu.sumber
effects
bukan fungsi ... tapieffect
adalahnewHtml
tidak valid HTML atau pemilih jQuery yang valid:$('/ This is Not HTML /').appendTo('#myDiv')
hasilUncaught Error: Syntax error, unrecognized expression
sementara$('#myDiv').append('/ This is Not HTML /')
berfungsi dengan baik dengan menambahkan teks ke elemen target.sumber
$elements.effect("highlight", {}, 2000);
bukaneffects
.sumber
Sedikit mengingatkan , ketika elemen ditambahkan secara dinamis, fungsi seperti
append()
,appendTo()
,prepend()
atauprependTo()
kembali objek jQuery, bukan elemen HTML DOM.DEMO
sumber
Saya pikir Anda bisa melakukan sesuatu seperti ini:
Induk #parentId dikembalikan dari append, jadi tambahkan kueri anak-anak jquery ke dalamnya untuk memasukkan anak div terakhir.
$ child kemudian div anak jquery dibungkus yang telah ditambahkan.
sumber