Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memeriksa Kewujudan Elemen dengan Cekap dalam DOM Terlihat Tanpa Menggunakan getElementById?

Bagaimana untuk Memeriksa Kewujudan Elemen dengan Cekap dalam DOM Terlihat Tanpa Menggunakan getElementById?

Linda Hamilton
Linda Hamiltonasal
2024-10-21 22:27:02675semak imbas

How to Efficiently Check Element Existence in the Visible DOM Without Using getElementById?

Cara Menyemak Kewujudan Elemen dalam DOM Terlihat

Menguji untuk Kewujudan Elemen Tanpa getElementById

Apabila cuba mengesahkan kewujudan elemen tanpa menggunakan getElementById, ia menjadi jelas bahawa pembolehubah tidak mengekalkan rujukan langsung kepada elemen DOM tetapi sebaliknya mengekalkan nilai awalnya. Ini boleh membawa kepada hasil yang tidak dijangka apabila menyemak kewujudan elemen selepas dialih keluar daripada DOM.

Kaedah untuk Menyemak Kewujudan

Untuk menangani isu ini, pertimbangkan fungsi isNull, yang cuba memastikan kewujudan elemen:

<code class="javascript">var isNull = function (element) {
  var randomID = getRandomID(12),
    savedID = (element.id) ? element.id : null;
  element.id = randomID;
  var foundElm = document.getElementById(randomID);
  element.removeAttribute('id');
  if (savedID !== null) {
    element.id = savedID;
  }
  return (foundElm) ? false : true;
};</code>

Kaedah ini berfungsi, tetapi pendekatan yang lebih mudah dicadangkan.

Menyemak Kewujudan dalam DOM Kelihatan

Untuk menentukan sama ada unsur hadir dalam DOM yang kelihatan, gunakan kaedah contains():

<code class="javascript">document.body.contains(someReferenceToADomElement);</code>

Kaedah ini mengembalikan Boolean yang menunjukkan sama ada elemen itu adalah sebahagian daripada DOM. Ia menawarkan cara yang lebih langsung dan cekap untuk menyemak kewujudan berbanding dengan fungsi isNull.

Atas ialah kandungan terperinci Bagaimana untuk Memeriksa Kewujudan Elemen dengan Cekap dalam DOM Terlihat Tanpa Menggunakan getElementById?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn