Saya ingin mengasosiasikan objek JavaScript dengan elemen HTML. Apakah ada cara sederhana untuk melakukan hal ini?
Saya melihat HTML DOM mendefinisikan metode setAttribute dan sepertinya ini didefinisikan untuk nama atribut arbitrer. Namun ini hanya dapat mengatur nilai string. (Anda tentu saja dapat menggunakan ini untuk menyimpan kunci ke dalam kamus.)
Spesifik (meskipun saya sangat tertarik dengan pertanyaan umum):
Secara khusus, saya memiliki elemen HTML yang mewakili node di pohon dan saya mencoba untuk mengaktifkan drag-and-drop, tetapi event jQuery drop hanya akan memberi saya elemen yang diseret dan dijatuhkan.
Pola normal untuk mendapatkan informasi ke penangan kejadian tampaknya untuk membuat elemen HTML pada saat yang sama saat Anda membuat objek JavaScript dan kemudian mendefinisikan penangan kejadian dengan menutup objek JavaScript ini - namun ini tidak bekerja terlalu baik dalam hal ini case (Saya bisa memiliki objek global yang terisi saat drag dimulai ... tapi ini terasa sedikit buruk).
sumber
data()
bekerja dengan menggunakan jawaban bobince yang diberikan jadi jika Anda belum menggunakan jquery, Anda mungkin juga menggunakannya.Objek JavaScript dapat memiliki properti arbitrer yang ditetapkan padanya, tidak ada hal khusus yang harus Anda lakukan untuk mengizinkannya. Ini termasuk elemen DOM; meskipun perilaku ini bukan bagian dari standar DOM, itu adalah kasus kembali ke versi pertama JavaScript dan benar-benar dapat diandalkan.
sumber
document.expando = false
istirahat jQuery.data , juga?<td>
) dan objek yang saya tetapkan ke bidang ini # toString'ed. Saya sangat bingung melihat td.scope === '[Object Object]'.