搜尋
首頁web前端js教程Dom操作之兼容技巧分享_DOM

例如:我们在获取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>


陳述
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
Win10的最稳定版本Win10的最稳定版本Dec 25, 2023 pm 07:58 PM

很多用户都会遇到在操作电脑的时候卡顿或者是蓝屏,这个时候我们就需要找一个最为稳定的win10版本来进行操作,整体都是非常的好用的,可以让你日常使用更为流畅。史上最稳定的win10版本1、win10正版原装系统在这里用户可以使用简单的操作,系统经过优化,具有很强的稳定性、安全性、兼容性,用户可以按照步骤实现完美机器2、俄罗斯大神精简版win10经过严格的精简操作,删除了很多不必要的功能和服务。精简后,系统的CPU和内存占用率更低,运行速度更快。3、win10精简版1909安装多台不同硬件型号的电脑

Switch2能兼容Switch卡带吗?Switch2能兼容Switch卡带吗?Jan 28, 2024 am 09:06 AM

Switch2是任天堂在2023年科隆游戏展公布的新机型,一些玩家担心新出来的机型与之前版本的机型卡带会不会存在兼容性问题,下面我们一起来看看吧。switch2兼容switch卡带吗答:switch2不兼容switch卡带。Switch2卡带的介绍根据任天堂的生产链公司的消息称,Switch2可能会使用64GB的卡带。它由于性能更好,支撑更多的3A游戏大作的原因,需要更大卡带容量。因为很多的游戏作品需要阉割和压缩,才能塞进一张游戏卡带里面。而且Switch的卡带容易被复制游戏内容,所以更换新卡带

Win11是否支持动态壁纸Win11是否支持动态壁纸Jan 01, 2024 pm 06:41 PM

众所周知,win11一大特色就是自带安卓子系统,让我们不需要用模拟器就可以安装安卓软件,但也存在win11安卓应用卡顿的问题,这应该怎么解决呢。win11不兼容动态壁纸么:答:win11能兼容动态壁纸,如果用不了可能是软件或系统版本落后。如果是刚更新,可能是被系统壁纸覆盖了。1、如果是系统或软件版本落后,那么更新一下系统和动态壁纸软件即可。2、如果是被系统壁纸覆盖了,可以尝试打开“设置”3、接着进入“个性化”下的“背景”设置。4、然后将个性化设置背景改为“图片”5、修改完成后就能正常设置动态壁纸

win10兼容win7的设置方法介绍win10兼容win7的设置方法介绍Jan 03, 2024 pm 05:09 PM

很多朋友目前还在选择win7系统而不是win10系统的原因就是害怕其兼容性不好。其实,现在win10系统已经可以设置win7的兼容模式了,只需要在属性中就可以更改设置,下面就一起来看一下吧。win10怎么兼容win71、首先右键点击我们需要在win7系统下运行的程序,然后打开“属性”2、然后点击上方的“兼容性”,进入兼容性选项卡。3、在兼容模式下勾选“以兼容模式运行这个程序”4、然后就可以在下方的下拉菜单中选择“windows7”5、完了之后只需要点击“应用”或者点击“确定”就可以了。

Mingw编译的程序能否在Linux系统下正常运行?Mingw编译的程序能否在Linux系统下正常运行?Mar 19, 2024 pm 12:03 PM

Mingw编译的程序能否在Linux系统下正常运行?许多程序员在开发过程中常常会遇到这样一个问题,即在Windows系统下使用Mingw进行编译后的程序能否在Linux系统下正常运行。本文将详细探讨这个问题,并给出具体的代码示例。首先,我们需要了解Mingw是什么以及它和Linux系统之间的差异。Mingw是一个在Windows下的开发环境,用于编译Wind

解决d3dx9_43.dll不兼容的方法解决d3dx9_43.dll不兼容的方法Feb 24, 2024 pm 10:06 PM

d3dx9_43.dll不兼容怎么解决近年来,计算机和游戏的快速发展使得我们享受到了更多的娱乐和便利。然而,有时在安装或运行某些程序时,我们可能会遇到一些错误信息,例如“d3dx9_43.dll不兼容”。在这种情况下,我们应该如何解决这个问题呢?首先,让我们来了解一下这个错误信息的含义。d3dx9_43.dll是DirectX的一个系统文件,它是用于在操作系

Win11安装及配置兼容网络点的详细指南Win11安装及配置兼容网络点的详细指南Jan 09, 2024 pm 02:50 PM

有不少网站用户们在浏览的时候都会需要使用旧版本的浏览器才能够使用,而新版本的需要添加兼容网点才可以进行使用,所以今天就给你们带来了win11添加兼容网点详细教程,快来学习一下吧。win11如何添加兼容网点1、首先打开系统中的IE浏览器,点击浏览器右上角小齿轮进入“设置”。2、然后在打开的设置菜单中,打开“兼容性视图设置”。3、在添加此网站下的编辑框中输入要添加的网址,然后点击“添加”。4、最后在下方就可以看到添加网址的域名了,关闭窗口即可直接访问。

介绍win10系统与ps版本的兼容性介绍win10系统与ps版本的兼容性Dec 30, 2023 pm 06:04 PM

ps也就是Photoshop,它是目前很多人都在使用的图片处理软件。很多朋友在使用ps前,可能会发现某些ps无法安装在win10系统中,怀疑是兼容的问题,因此今天小编就来给大家介绍一下win10兼容哪个版本的ps。win10兼容哪个ps答:现在几乎所有版本都能兼容,配置越高的电脑可以使用越新的版本。1、现在win10的兼容性已经很好了,只要配置足够,几乎可以兼容所有版本的ps。2、ps对于电脑配置的要求是比较高的,因此如果大家配置高的话可以使用最新版本的ps。3、如果配置不够的话,可以下载使用P

See all articles

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前By尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前By尊渡假赌尊渡假赌尊渡假赌

熱工具

VSCode Windows 64位元 下載

VSCode Windows 64位元 下載

微軟推出的免費、功能強大的一款IDE編輯器

MantisBT

MantisBT

Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

mPDF

mPDF

mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)