getElementById mengembalikan null?

document.getElementById('id dari div yang pasti ada') mengembalikan null.

Awalnya saya memuat javascript terakhir untuk memastikan saya tidak perlu khawatir tentang event onload. Saya juga mencoba menggunakan event onload. Ini sangat menyeramkan. Setiap ide atau bantuan akan sangat dihargai.

Juga berhati-hatilah bagaimana Anda mengeksekusi js pada halaman. Misalnya jika Anda melakukan sesuatu seperti ini:

(function(window, document, undefined){

  var foo = document.getElementById("foo");

  console.log(foo);

})(window, document, undefined); 

Ini akan mengembalikan null karena Anda akan memanggil dokumen sebelum dimuat.

Pilihan yang lebih baik ..

(function(window, document, undefined){

// code that should be taken care of right away

window.onload = init;

  function init(){
    // the code to be called when the dom has loaded
    // #document has its nodes
  }

})(window, document, undefined);
Komentar (0)
Larutan

Hal ini bisa disebabkan oleh:

  1. Sintaks HTML tidak valid (beberapa tag tidak ditutup atau kesalahan serupa)
  2. ID duplikat - ada dua elemen DOM HTML dengan ID yang sama
  3. Mungkin elemen yang Anda coba dapatkan dengan ID dibuat secara dinamis (dimuat oleh ajax atau dibuat oleh script)?

Tolong, kirimkan kode Anda.

Komentar (5)

Mungkin ada banyak alasan mengapa document.getElementById tidak berfungsi

Saya ragu Anda menggunakan ID yang sama dua kali atau lebih: dalam hal ini document.getElementById harus mengembalikan setidaknya elemen pertama

Komentar (1)