nextSibling previousSibling

nextSibling previousSibling
1/nextSibling属性
       该属性表示当前节点的下一个节点(其后的节点与当前节点同属一个级别);如果其后没有与其同级的节点,则返回null。
      需要特别注意的是:该属性在不同的浏览器中的执行结果并不都相同,见下面例示:
     先来看一个例子:

        

大家好,又见面了,我是你们的朋友全栈君。

1/nextSibling属性

        该属性表示当前节点的下一个节点(其后的节点与当前节点同属一个级别);如果其后没有与其同级的节点,则返回null。

       需要特别注意的是:该属性在不同的浏览器中的执行结果并不都相同,见下面例示:

      先来看一个例子:

 
 
 
  1. <div>     
  2. <input id="a4" type="button" onclick="alert(this.nextSibling);" value="d" />     
  3. <input id="a5" type="button" onclick="alert(this.nextSibling);" value="e" />     
  4. </div> 

该对象的结构表面上看,div的nextSibling只有2项——两个input节点。但实际上有5项——/n,input,/n,input,/n。这是因为input作为创建各种表单输入控件的标签,无论是生成button、checkbox、radio…等或其他表单控件,IE都会自动在后面创建一个1字节位的空白。

       IE将跳过在节点之间产生的空格文档节点(如:换行字符),而Mozilla不会这样——FF会把诸如空格换行之类的排版元素视作节点读取,因此,在ie中用nextSibling便可读取到的下一个节点元素,在FF中就需要这样写:nextSibling.nextSibling了。

       opera和safari对nextSibling的处理方式与FF一致

        2:previousSibling属性

        该属性与nextSibling属性的作用正好相反。例如:someTagObject.nextSibling.previousSibling其实返回的是该标签元素本身,但前提必须是:该标签元素的后面必须有一个同级的元素,否则就返回null了。

       3:通过nextSibling或者 previousSibling所获得的HTML标签元素对象的属性问题

       一般先通过nextSibling.nodeName来获知其标签名,或者通过nextSibling.nodeType来获知其标签类型,然后,如果该nextSibling.nodeName = #text,则通过nextSibling.nodeValue来获知其文本值;否则,可以通过nextSibling.innerHTML等其他常用标签元素属性来获取其属性。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/158531.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • JSON C# Class Generator —由json字符串生成C#实体类的工具

    JSON C# Class Generator —由json字符串生成C#实体类的工具

    2022年4月2日
    90
  • pip更新方法

    pip更新方法pip更新方法如下:方法一:pycharm中的Terminal中更新,使用如下命令:python-mpipinstall–upgradepip方法二:删除原pip文件,重新安装例如pip文件在如下文件夹中C:\Python\Python373\Lib\site-packages我们能够知道pip20.1.1所在路径,找到它,然后删掉pip-20.1.1.dist-info文件夹。设置如下图,已不见pip的踪影。提示,packagi…

    2022年6月11日
    173
  • 卸载docker命令_删除docker0虚拟网卡

    卸载docker命令_删除docker0虚拟网卡#!/bin/shecho”startuninstallingdocker”echo”=======================================”#停止docker服务sudosystemctlstopdocker#杀死docker进程(为防止特殊情况下有残留的docker进程)#ps-ef|grepdocker|awk'{print$2}’|xargssudokill-s9#删除执行状态文件的根目录sudo…

    2022年9月8日
    0
  • STUN协议详解

    STUN协议详解   基于RFC3489标准的stun协议,无法穿越TCP类型NAT,只是适用于在现有NAT类型下的UDP穿越,另一种特殊情况NAT也无法进行穿越,就是对称型NAT,在很多企业中就很多属于对称型NAT,后面会讲到。STUN的发现过程是基于UDP的NAT处理的假设;随着新的NAT设备的部署,这些假设可能会被证明是无效的,当STUN被用来获取一个地址来与位于其在同一NAT后面的对等体通信时,它就不起作用了。当stun服务器的部署不在公共共享地址域范围内时,stun就不起作用。1.定义STUN客户端:产生

    2022年7月17日
    20
  • 项目管理五大过程组十大知识领域-总结「建议收藏」

    五大过程组:启动过程组:2个过程规划过程组:24个过程执行过程组:8个过程监控过程组:11个过程收尾过程组:2个过程十大知识领域:项目整合管理:6个过程项目范围管理:6个过程项目时间管理:7个过程项目成本管理:4个过程项目质量管理:3个过程项目人力资源管理:4个过程项目沟通管理:3个过程项目风险管理:6个过程项目采购管理:4个过程项目干系人管理:4个过程 …

    2022年4月9日
    87
  • 实验室管理系统数据库代码_实验室废液分类标准

    实验室管理系统数据库代码_实验室废液分类标准实验室设备管理系统SQL代码课程设计时的SQL代码,不是很完整,仅供参考。完整的实验室设备管理系统设计代码包括界面设计(使用的是C#)上传到了我的资源中。***界面截图***createdatabase实验室设备管理系统onprimary( name=’实验室设备管理_data’, filename=’E:\SqlServerData\实验室设备管理系统\实验室设备管理_data.mdf’, size=5MB, maxsize=100MB, filegrow

    2022年10月13日
    0

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号