nextSibling和nextElementSilbing使用以及解决兼容性问题

article/2025/11/4 15:59:17

nextSibling和nextElementSilbing使用以及解决兼容性问题

1、今天学习了 获取兄弟节点 的方法 – nextSibling(获取下一个兄弟节点)、previousSibling(获取上一个兄弟节点)
Node.nextSibling 是一个只读属性,返回其父节点的 childNodes 列表中紧跟在其后面的节点,如果指定的节点为最后一个节点,则返回 null。

<body><div>啦啦啦</div><div>我是div</div><span>我是span</span><script>var div = document.querySelector('div');// nextSibling 下一个兄弟节点 包含元素节点 文本节点console.log(div.nextSibling);console.log(div.previousSibling);</script>
</body>

但是结果却是…因为 nextSibing是获取下一个兄弟节点 包含元素节点 和文本节点 所以会输出—#text
Gecko内核的浏览器会在源代码中标签内部有空白符的地方插入一个文本结点到文档中.因此,使用诸如 Node.firstChild 和 Node.previousSibling 之类的方法可能会引用到一个空白符文本节点, 而不是使用者所预期得到的节点.
在这里插入图片描述

2、解决方法: 使用 nextElementSibling() 可以获取下一个兄弟节点,但是它要 ie9 以上版本才支持

<body><p>我是p</p><div>我是div</div><span>我是span</span><script>var div = document.querySelector('div');// nextSibling 下一个兄弟节点 包含元素节点 文本节点console.log(div.nextSibling);console.log(div.previousSibling);//2.nextElementSibling 得到下一个兄弟元素节点  但是ie9 以上支持console.log(div.nextElementSibling);console.log(div.previousElementSibling);</script>
</body>

结果返回了我们想要的数据
在这里插入图片描述
3、如何解决 nextElementSilbing 的兼容性问题呢?-----可以自己封装一个兼容性的函数

function getNextElementSibling(element) {var ele = element;while (ele = ele.nextSibling) {if (ele.nodeType === 1) {return ele;}}return null;}

http://chatgpt.dhexx.cn/article/FVb0WFpN.shtml

相关文章

电脑同时连接内网和外网的方法

前提 首先电脑要有两个网卡&#xff0c;比如一个有线一个无线&#xff08;常见&#xff0c;本文以此为例&#xff09;&#xff0c;或者两个无线网卡等等。 不论是有线连接内网&#xff08;外网&#xff09;&#xff0c;还是无线连接内网&#xff08;外网&#xff09;&#xff0…

如何设置内网和外网同时使用

工作中&#xff0c;经常需要电脑连接内网服务&#xff0c;内网服务非公网&#xff0c;如果需要电脑连接公网需要进行切换&#xff0c;特别的麻烦。其实&#xff0c;一个电脑可以同时连接两个网络服务。工作中&#xff0c;经常会遇到网络设置的问题。对于工作&#xff0c;一般都…

如何实现在内网和外网同时使用

我们在办公的时候很多情况会遇到内网办公&#xff0c;但是这时候不能够使用外网&#xff0c;今天介绍一种方法解决这个问题&#xff1a; 操作步骤: 01、查看当前的网络配置 通过ipconfig查看当前内网的网络配置&#xff0c;获取到ip、子网掩码、默认网关等信息。 02、完后进…

内网访问外网和外网访问内网的原理

假如设A 和 B 的局域网 IP 相同&#xff08;192.168.31.11&#xff09;&#xff0c;当他们同时访问百度服务器的时候&#xff0c;百度服务器如何区分哪个是 A&#xff0c;哪个是 B 呢&#xff1f; 解决方案&#xff1a;端口映射 什么是端口映射&#xff1f; 端口映射是 NAT …

[NET]什么是公网、私网、内网、外网?

背景&#xff1a;大家可能对什么是公网、私网、内网、外网有疑惑&#xff0c;今天我们来说下它们之前的区别&#xff0c;已经大家耳熟能详的VPN,SNAT,DNAT的作用。 简单理解公网是相对于私网的&#xff0c;而外网是相对于内网的&#xff1a;

竟然还有人不知道什么是内网、外网?快收藏学习吧!

内网 内网又称局域网&#xff08;Local Area Network&#xff0c;LAN&#xff09;&#xff0c;是指在某一区域内由多台计算机以及网络设备构成的网络&#xff0c;比如校园网、政府网等&#xff0c;一般方圆几公里。 我们常说的内网&#xff0c;从字面意思上来讲是区别于外网的…

如何理解内网和外网?

如何理解内网和外网&#xff1f; 1.感性上认识 判断内网和外网的重要依据是&#xff1a;是否与广阔的外界网络相连。 在有互联网之前&#xff0c;世界上是先有了局域网&#xff0c;一些公司构建了自己的局域网&#xff0c;供自己公司员工之间进行沟通。对于外来人员来说&…

局域网的主机如何连接外网

一、局域网内主机上外网——NAT 1、内网与外网 &#xff08;1&#xff09;内网 即所说的局域网&#xff0c;比如学校的局域网&#xff0c;局域网内每台计算机的 IP 地址在本局域网内具有互异性&#xff0c;是不可重复的。但两个局域网内的内网 IP 可以有相同的。 &#xff08…

内网外网同时使用

在很多网络环境中&#xff0c;为了安全起见&#xff0c;不允许内网、外网同时使用。但很多时 候&#xff08;比如说远程的时候&#xff09;又需要同时使用外网和内网&#xff0c;下面介绍一下外网、内网 同时使用的操作方法。 环境&#xff1a; 1、电脑的本地网卡设置成内网的…

内网和外网之间的通信

对于初学者而已&#xff0c;我们学习的网络编程&#xff08;如TCP,UDP编程&#xff09;&#xff0c;我们通常都是在局域网内进行通信测试&#xff0c;有时候我们或者会想&#xff0c;我们现在写的内网网络数据和外网的网络数据有什么不同&#xff0c;我们内网的数据是如何走出外…

探秘 | 如何分辨内网和外网?

目录 &#x1f4a1; 什么是外网IP、内网IP&#xff1f; &#x1f4a1; 对于自有路由器上网的用户&#xff0c;可以这样理解外网IP、内网IP &#x1f4a1; 几个大家经常会问的问题 什么是外网IP、内网IP&#xff1f;很多用户都有一个疑惑&#xff0c;如果不使用路由器拨号上网…

实现电脑同时上内网和外网(或通过外网访问到该电脑通过该电脑访问内网)

一、需求描述 目前使用的公司网络只能够上内网,但是又有上外网查资料的需求: ①想要实现电脑既能上内网的同时也可以上外网; ②想要使用其他外网电脑使用外网连接到该电脑,通过该电脑访问内部的网络内容。 二、准备内容 电脑必须具备两个网卡,即:可以同时连接内网和外…

如何理解内网和外网

如何理解内网和外网 写这篇博文的动力来自于&#xff0c;大狗问我什么是内网和外网&#xff08;没错&#xff0c;我就是站在程序猿顶端的有女票的程序猿:p&#xff09;&#xff0c;一个惊讶&#xff0c;为什么她会问这样的问题&#xff0c;在现实生活中&#xff0c;不管你是不…

内网和外网的区别是什么?

内网和外网的区别重要依据主要是判断它是不是与广阔的外界相连。 内网和外网最大的区别 内网IP局域网&#xff0c;网线都是连接在同一个 交换机上面的&#xff0c;也就是说它们的IP地址是由交换机或者路由器进行分配的。而且每一个IP也是有所不同的&#xff0c;并且这些连接在…

外网与内网

一、外网和内网  其实外网和内网的概念很模糊。  简单的说&#xff0c;自己的单位或者家庭、小区内部有局域网&#xff1b;单位、家庭之外有覆盖范围极大的网络&#xff0c;比如internet&#xff0c;这个大网络延伸到了我们的单位、家庭&#xff08;通过光纤、网线、电话线等…

内网和外网的区别?

网络按地域范围分类&#xff1a;局域网、城域网、广域网 网络按使用者分类为&#xff1a;公共网 和 专用网 内网 内网又称局域网&#xff08;Local Area Network&#xff0c;LAN&#xff09;&#xff0c;是指在某一区域内由多台计算机以及网络设备构成的网络。 外网 外网又称广…

内网和外网的区别

参考文章&#xff1a;https://blog.csdn.net/Alexwym/article/details/81772446 https://blog.csdn.net/weixin_42724467/article/details/89147214 一、现象 外网&#xff0c;即广域网、WAN、公网&#xff1b;内网&#xff0c;即局域网、LAN、私网。 要搞清楚内网和外网的区…

什么是内网、外网?内网、外网有啥区别?

之前有朋友问我&#xff0c;电脑如何上外网&#xff1f;他们有些是在学校的机房里&#xff0c;有些是在企业办公室里上网的&#xff0c;这个问题问的&#xff0c;我也是很头痛啊&#xff01; 原因是&#xff1a;学校为了让学生上课的时候&#xff0c;不会上外网做其他事&#…

C++ ZeroMemory和memset

为什么80%的码农都做不了架构师&#xff1f;>>> 一、memset void *memset(void *s,int ch,size_t n); 由C Run-time Library提供的提供的函数&#xff0c;作用是在一段内存块中填充某个给定的值&#xff0c;它是对较大的结构体或数组进行清零操作的一种最快方法。…

ZeroMemory

ZeroMemory() ZeroMemory宏用0来填充一块内存区域。 为了避免优化编译器的意外的影响&#xff0c;请使用SecureZeroMemory函数。 void ZeroMemory( PVOID Destination, SIZE_T Length ); 参数&#xff1a; Destination :指向一块准备用0来填充的内存区域的开始地址。 Length :…