js nextSibling属性和previousSibling属性

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

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

   1:nextSibling属性

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

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

      先来看一个例子:

 

[javascript] 
view plain
 copy

  1. <body>  
  2. <div>  
  3. <input id=“a4” type=“button” οnclick=“alert(this.nextSibling);” value=“d” />  
  4. <input id=“a5” type=“button” οnclick=“alert(this.nextSibling);” value=“e” />  
  5. </div>  
  6. </bod  

      该对象的结构表面上看,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/159807.html原文链接:https://javaforall.net

(0)
上一篇 2022年7月15日 上午8:36
下一篇 2022年7月15日 上午8:36


相关推荐

  • 实现表单form提交前进行确认提示 表单提交 确认对话框

    实现表单form提交前进行确认提示 表单提交 确认对话框定义一个函数 functionsumb sure vargnl confirm 确定要提交 if gnl true returntrue else returnfalse 然后在 form 的 onsubmit 里调用就可以了

    2026年3月18日
    1
  • idea激活码永久【注册码】

    idea激活码永久【注册码】,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月18日
    44
  • Camstar使用操作

    Camstar使用操作Camstar 开发流程使用框架及工具

    2026年3月20日
    16
  • 新手如何快速上手双拼,提高打字速度-by小鹤双拼输入法QQ群友-弧

    新手如何快速上手双拼,提高打字速度-by小鹤双拼输入法QQ群友-弧新手如何快速上手双拼,提高打字速度-by小鹤双拼输入法QQ群友-弧更新时间:2013-5-30新手如何快速上手双拼,提高打字速度首先说明,此文仅供参考,每个人需要选择适合自己的方法~纵然效率很重要,终究多练是王道。亲们加油吧……一个月从零开始到速度过百真心不难的。第一,双拼方案选择。(1)如果你已经熟练了某种双拼方案,其实没什么必要去更换——条件反射的更改比建立还要难,需要一…

    2022年6月16日
    49
  • Linux history命令

    Linux history命令1、在脚本中由于是在另外一个shell中进行语句的执行,所以history显示的是脚本运行的shell的history语句,而不会显示你执行该脚本的终端中的history2、我们可以在家目录下的.bash_history文件中查看自己的历史命令,而history查看的是内存中的历史命令,如果需要将内存中的历史命令加入其中,那么就需要使用history-w将当前终端的历史命令覆盖.bash_history的内容或是history-a在.bash_history文件的尾部添加当前shell的历史命令

    2022年7月13日
    23
  • sql server端口号

    sql server端口号https jingyan baidu com article ca00d56c3613 htmlhttps www cnblogs com yy3b2007com p 6050284 html nbsp SqlServer 数据库端口默认是 1433 吗 1433 端口 是 SQLServer 默认的端口 SQLServer 服务使用两个端口 TCP 1433 UDP

    2026年3月26日
    2

发表回复

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

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