nextSibling 和nextElementSibling的区别[通俗易懂]

nextSibling 和nextElementSibling的区别[通俗易懂]使用nextSibling属性返回指定节点之后的下一个兄弟节点,(即:相同节点树层中的下一个节点)。nextSibling属性与nextElementSibling属性的差别: nextSibling属性返回元素节点之后的兄弟节点(包括文本节点、注释节点即回车、换行、空格、文本等等); nextElementSibling属性只返回元素节点之后的兄弟元素节点(不包括文本节点、注释节点);注意:空…

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

使用nextSibling属性返回指定节点之后的下一个兄弟节点,(即:相同节点树层中的下一个节点)。

nextSibling属性与nextElementSibling属性的差别: 
nextSibling属性返回元素节点之后的兄弟节点(包括文本节点、注释节点即回车、换行、空格、文本等等); 
nextElementSibling属性只返回元素节点之后的兄弟元素节点(不包括文本节点、注释节点);

注意: 空格、回车也会看作文本,以文本节点对待。 
下例中,如果两个li元素之间有空格、回车,将返回 “undefined”。

今天犯了个很蛋疼的错误,调试了半天,才发现在input 与font 标签之间多了个回车。(中间不应有任何内容,包括,回车,换行)

<input type="text" name="username" onblur="checkName();" /><font></font>
  • 1

解决方法1:去掉中间多余的内容,input的nextSibling就是font结点 

解决办法2:用input 的nextElementSibling 方法,得到的就是font结点

<center>
<table>
<tr>
<td><input type=”button” value=”-” id=”c1″ οnclick=”a(this)”/></td>
<td><span>1</span></td>
<td><input type=”button” value=”+” id=”c2″ οnclick=”s(this)”/></td>
</tr>
</table>
</center>
<script type=”text/javascript”>
function a(obj){

var x = obj.parentNode.nextElementSibling;
var x1 =  x.getElementsByTagName(‘span’)[0];
if(parseInt(x1.innerHTML) > 0){

x1.innerHTML = parseInt(x1.innerHTML)-1;
}
}
function s(obj){

var x = obj.parentNode.previousElementSibling;
console.log(x);
var x1 =  x.getElementsByTagName(‘span’)[0];
x1.innerHTML = parseInt(x1.innerHTML)+1;
}
</script>

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

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

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


相关推荐

  • AD域filter

    AD域filterAD域BuildingLDAPFiltershttp://flylib.com/books/en/1.434.1.37/1/ldapextensiblefilterhttp://ldapwiki.willeke.com/wiki/ExtensibleMatchhttp://ldapwiki.willeke.com/wiki/Active%20Direct

    2022年5月13日
    74
  • Linux traceroute 命令详解

    Linux traceroute 命令详解traceroute命令Linux中traceroute命令用于显示数据包到目的主机的路径Windows中路由追踪命令是tracert。traceroute指令可以追踪你发送的数据包在网络中传输的路由途径,主要显示走了什么路,到了什么站。其预设的数据包大小是40bytes,该值可以另设。语法:traceroute【参数】【主机】举个简单例子:traceroute-dww…

    2022年10月23日
    0
  • JAVA数组的定义及用法

    JAVA数组的定义及用法

    2021年11月30日
    32
  • 剑指offer——二进制中1的个数(解释n & 0xFFFFFFFF)[通俗易懂]

    剑指offer——二进制中1的个数(解释n & 0xFFFFFFFF)[通俗易懂]题目描述:输入一个整数,输出该数二进制表示中1的个数。其中负数用补码表示。解答如下:环境:python2.7.3正数的原码反码补码都一样负数的补码是其对应正数的反码加1这里需要弄清楚为什么python中负数需要和0xFFFFFFFF做与操作?在计算机中,所有的数字都是使用补码存储起来的。由于Python没有位数这个概念,所以得到二进制表示需要多一点操作,即将位数限制在32位,…

    2022年5月16日
    36
  • 使用USB转485编程电缆连接西门子 S7-200的软件配置方法以及可能出现的问题[通俗易懂]

    使用USB转485编程电缆连接西门子 S7-200的软件配置方法以及可能出现的问题[通俗易懂]1安装驱动与PC-PPI编程电缆不同,USB转485编程电缆通常需要驱动。驱动安装完成后,将电缆插入电脑USB口,打开电脑设备管理器,观察端口COM是否生成。未插入编程线缆之前不存在COM3。2配置编程软件打开编程软件,点击【设置PG/PC接口】,选择【PC/PPIcable(PPI)】接口:点击属性,注意在【PPI】栏中不能勾选【高级PPI】和【多主站网络】:在【本地连接】中选择与设备管理器中一致的端口,此处为COM3:点击确定退出,软件配置完成,PC与PLC连接成功。.

    2022年5月18日
    152
  • Linux发邮件-ubuntu和centos

    Linux发邮件-ubuntu和centosLinux发邮件–ubuntu和centos当我用公司的服务器和虚拟机都尝试过发邮件之后,发现真是坑,Ubuntu和centos发邮件,安装配置都是有区别的;注意:这里是用第三方邮件发送邮件。直接上表格来对比吧,这个步骤亲测可用的,但是也要注意mailx的版本号。1、查看系统版本cat/etc/issue或uname-a2、查看邮件安装包版本(1)ub…

    2022年10月20日
    0

发表回复

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

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