Jadual Kandungan
运行该代码以后.你会发现在IE里弹出3.在FF里弹出7.
运行该代码以后.你会发现在IE,FF,Chrome里返回的结果一样了.
Rumah hujung hadapan web tutorial js Dom操作之兼容技巧分享_DOM

Dom操作之兼容技巧分享_DOM

May 16, 2016 pm 06:01 PM
Operasi DOM serasi

例如:我们在获取ul下所有li元素的时候.或者是某个元素的下一个元素时.都有可能会碰到这讨厌的空格问题.当然在IE浏览器里这些空格会被自动过滤.而FF则没有那么勤劳.FF浏览器会把这些空格也看作为一个元素.如果你对Dom中的空格元素感到疑惑,请运行下面的代码.至少使用IE和FF两种浏览器测试.你会明白一切!

复制代码 代码如下:





Dom


运行该代码以后.你会发现在IE里弹出3.在FF里弹出7.



  1. html

  2. css

  3. dom


<script> <BR>var list = document.getElementById("list"); <BR>var list_child = list.childNodes; //获取ol中所有的子元素 <BR>alert("ol中共有"+list_child.length+"个元素,分别是"); <BR>for(var i = 0; i<list_child.length; i++){ <BR>alert(list_child[i].tagName); <BR>} <BR></script>



上面的代码演示了要获取ol元素中所有的子元素.并弹出ol内有几个子元素.我们可以看到ol中包含了3个li元素.在IE中弹出3这是正确的.那为什么到了FF和Chrome浏览器中会弹出7呢? 其实在你书写代码的时候.在元素与元素换行之间都会形成一个空格.(注意:不要以为回一次车就会形成一个空格.这是错误的,也就是说元素与元素之间的空白,你就是换几百次行.也算一个空格)FF和Chrome浏览器不会过滤这些空格元素.所以弹出7也是正确的.
下面我们用同样的html结构.来演示如何过滤删除这些空格元素.
复制代码 代码如下:





Dom


运行该代码以后.你会发现在IE,FF,Chrome里返回的结果一样了.



  1. html

  2. css

  3. dom


<script> <BR>function Del_space(elem){ //过滤空格的函数 <BR>var elem_child = elem.childNodes; //获取所有子元素 <BR>for(var i = 0;i<elem_child.length;i++){ <BR>//如果是文本节点,并且内容只包含空格则删除该节点 <BR>if(elem_child[i].nodeName == "#text" && ! /\S/.test(elem_child[i].nodeValue)){ <BR>elem.removeChild(elem_child[i]);//如果该元素为空格则删除 <BR>} <BR>} <BR>} <BR>Del_space(document.getElementById("list")); //删除ol中的所有空格 <BR>var list = document.getElementById("list"); <BR>var list_child = list.childNodes; //获取ol中所有的子元素 <BR>for(var i=0;i<list_child.length;i++){ <BR>alert(list_child[i].tagName); <BR>} <BR></script>



推荐如下方法:
复制代码 代码如下:





Dom


运行该代码以后.你会发现在IE,FF,Chrome里返回的结果一样了.



  1. html

  2. css

  3. dom


<script> <BR>for(var x=0,list_li = document.getElementById('list').childNodes; x<list_li.length; x++){ <BR>if(list_li[x].nodeType == 1){ <BR>alert(list_li[x].tagName); <BR>} <BR>} <BR></script>


Kenyataan Laman Web ini
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

Alat AI Hot

Undresser.AI Undress

Undresser.AI Undress

Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover

AI Clothes Remover

Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Undress AI Tool

Undress AI Tool

Gambar buka pakaian secara percuma

Clothoff.io

Clothoff.io

Penyingkiran pakaian AI

Video Face Swap

Video Face Swap

Tukar muka dalam mana-mana video dengan mudah menggunakan alat tukar muka AI percuma kami!

Alat panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Versi Win10 yang paling stabil Versi Win10 yang paling stabil Dec 25, 2023 pm 07:58 PM

Ramai pengguna akan mengalami pembekuan atau skrin biru semasa mengendalikan komputer Pada masa ini, kita perlu mencari versi win10 yang paling stabil untuk beroperasi Secara keseluruhannya, ia sangat mudah digunakan dan boleh menjadikan penggunaan harian anda lebih lancar. Versi win10 yang paling stabil dalam sejarah 1. Sistem asal tulen Win10 Di sini pengguna boleh menggunakan operasi yang mudah dan mempunyai kestabilan yang kuat, keselamatan dan keserasian diperkemas Versi win10 telah diperkemas dengan ketat dan banyak fungsi dan perkhidmatan yang tidak perlu telah dipadamkan. Selepas diperkemas, sistem mempunyai penggunaan CPU dan memori yang lebih rendah serta berjalan lebih pantas. 3. Win10 Lite Edition 1909 dipasang pada berbilang komputer dengan model perkakasan yang berbeza.

Adakah Switch2 serasi dengan kartrij Switch? Adakah Switch2 serasi dengan kartrij Switch? Jan 28, 2024 am 09:06 AM

Switch2 ialah model baharu yang diumumkan oleh Nintendo di Gamescom 2023. Sesetengah pemain bimbang sama ada akan wujud isu keserasian antara model baharu dan versi kartrij sebelumnya. Mari kita lihat. Adakah suis2 serasi dengan kaset suis Jawapan: suis2 tidak serasi dengan kaset suis. Pengenalan kartrij Switch 2 Menurut maklumat daripada syarikat rangkaian pengeluaran Nintendo, Switch 2 mungkin menggunakan kartrij 64GB. Kerana ia mempunyai prestasi yang lebih baik dan menyokong lebih banyak karya permainan 3A, ia memerlukan kapasiti kartrij yang lebih besar. Kerana banyak kerja permainan perlu dikebiri dan dimampatkan sebelum ia boleh disumbat ke dalam kartrij permainan. Selain itu, kartrij Suis terdedah kepada menyalin kandungan permainan, jadi gantikannya dengan kartrij baharu.

Adakah Win11 menyokong kertas dinding dinamik? Adakah Win11 menyokong kertas dinding dinamik? Jan 01, 2024 pm 06:41 PM

Seperti yang kita sedia maklum, ciri utama win11 ialah subsistem Androidnya sendiri, yang membolehkan kita memasang perisian Android tanpa menggunakan emulator Namun, terdapat juga masalah lag aplikasi Android win11. Bagaimana ini harus diselesaikan? Adakah Win11 tidak serasi dengan kertas dinding dinamik Jawapan: Win11 serasi dengan kertas dinding dinamik. Jika ia baru sahaja dikemas kini, ia mungkin dilindungi oleh kertas dinding sistem. 1. Jika versi sistem atau perisian ketinggalan, cuma kemas kini sistem dan perisian kertas dinding dinamik. 2. Jika ia dilindungi oleh kertas dinding sistem, anda boleh cuba membuka "Tetapan" 3. Kemudian masukkan tetapan "Latar Belakang" di bawah "Pemperibadian". 4. Kemudian tukar latar belakang yang diperibadikan kepada "Gambar" 5. Selepas pengubahsuaian selesai, anda boleh menetapkan kertas dinding dinamik seperti biasa

Adakah sistem Linux serasi dengan perisian Android? Adakah sistem Linux serasi dengan perisian Android? Mar 20, 2024 pm 02:27 PM

Dalam beberapa tahun kebelakangan ini, populariti sistem Android dalam bidang peranti mudah alih telah berkembang dengan pesat, dan ramai orang telah mula memberi perhatian sama ada aplikasi Android juga boleh dijalankan pada platform lain. Sebagai sistem pengendalian biasa, Linux digemari oleh ramai orang Jadi persoalannya, adakah sistem Linux itu serasi dengan perisian Android? Perkara pertama yang perlu dijelaskan ialah sistem Linux dan sistem Android mempunyai persamaan tertentu dalam kernel Kedua-duanya adalah sistem pengendalian berdasarkan kernel Linux Oleh itu, secara teorinya, sistem Linux boleh dijalankan

Kaedah untuk menyelesaikan ketidakserasian d3dx9_43.dll Kaedah untuk menyelesaikan ketidakserasian d3dx9_43.dll Feb 24, 2024 pm 10:06 PM

Bagaimana untuk menyelesaikan ketidakserasian d3dx9_43.dll Dalam beberapa tahun kebelakangan ini, perkembangan pesat komputer dan permainan telah membolehkan kami menikmati lebih banyak hiburan dan kemudahan. Walau bagaimanapun, kadangkala apabila memasang atau menjalankan program tertentu, kami mungkin menghadapi beberapa mesej ralat, seperti "d3dx9_43.dll tidak serasi". Dalam kes ini, bagaimana kita harus menyelesaikan masalah ini? Mula-mula, mari kita fahami maksud mesej ralat ini. d3dx9_43.dll ialah fail sistem DirectX, yang digunakan dalam sistem pengendalian

Pengenalan kepada kaedah tetapan win10 yang serasi dengan win7 Pengenalan kepada kaedah tetapan win10 yang serasi dengan win7 Jan 03, 2024 pm 05:09 PM

Sebab mengapa ramai rakan masih memilih sistem win7 dan bukannya sistem win10 adalah kerana mereka takut keserasian yang tidak baik. Malah, sistem win10 kini boleh menetapkan mod keserasian win7 Anda hanya perlu menukar tetapan dalam sifat Mari kita lihat bersama-sama. Bagaimana untuk menjadikan win10 serasi dengan win71? Pertama, klik kanan pada program yang perlu kita jalankan di bawah sistem win7, kemudian buka "Properties" 2, kemudian klik "Compatibility" di atas untuk memasuki tab keserasian. 3. Tandakan "Jalankan program ini dalam mod keserasian" dalam mod keserasian 4. Kemudian pilih "Windows 7" dari menu lungsur di bawah 5. Selepas selesai, hanya klik "Guna" atau klik "OK".

Cara menangani ketidakserasian versi Eclipse Cara menangani ketidakserasian versi Eclipse Jan 04, 2024 am 10:29 AM

Apakah yang perlu saya lakukan jika saya menghadapi versi Eclipse yang tidak serasi? [Pengenalan] Sebagai alat pembangunan yang popular, Eclipse bukan sahaja menyediakan fungsi berkuasa dan pemalam yang kaya, tetapi juga mempunyai ciri merentas platform. Walau bagaimanapun, apabila menggunakan Eclipse, kadangkala anda mungkin menghadapi masalah ketidakserasian versi, yang boleh menyebabkan program gagal berjalan dengan betul atau menyusun ralat. Artikel ini akan menerangkan cara menangani ketidakserasian versi Eclipse dan menyediakan beberapa contoh kod untuk menyelesaikan isu keserasian biasa. [Penyelesaian] Kemas kini Ecl

Panduan terperinci untuk memasang dan mengkonfigurasi titik rangkaian yang serasi dalam Win11 Panduan terperinci untuk memasang dan mengkonfigurasi titik rangkaian yang serasi dalam Win11 Jan 09, 2024 pm 02:50 PM

Terdapat ramai pengguna laman web yang perlu menggunakan versi lama penyemak imbas semasa menyemak imbas, dan versi baharu perlu menambah saluran yang serasi sebelum ia boleh digunakan, jadi hari ini saya akan membawakan anda tutorial terperinci tentang menambah saluran yang serasi dalam win11 dan belajar. Cara menambah saluran yang serasi dalam win11 1. Mula-mula buka pelayar IE dalam sistem, klik gear kecil di sudut kanan atas pelayar untuk memasuki "Tetapan". 2. Kemudian dalam menu tetapan yang terbuka, buka "Tetapan Paparan Keserasian". 3. Masukkan URL untuk ditambahkan dalam kotak edit di bawah Tambah tapak web ini, dan kemudian klik "Tambah". 4. Akhir sekali, anda boleh melihat nama domain URL tambahan di bawah, dan anda boleh mengaksesnya terus dengan menutup tetingkap.

See all articles