nextSibling的兼容问题「建议收藏」

nextSibling的兼容问题「建议收藏」这个有两个兼容性,innerText不是所有浏览器都兼容的,要用innerHTML 然后就是,对于节点关系,ie有事会将期间的空格当成一个文本节点,但火狐就不会,因此你的nextSibling很可能在ie下取到的是一个文本节点,换在火狐下就是另外一个。本文转自:http://ailantian.bokee.com/6418694.html原文如下:网

大家好,又见面了,我是你们的朋友全栈君。这个有两个兼容性,innerText 不是所有浏览器都兼容的,要用innerHTML  然后就是,对于节点关系,ie有事会将期间的空格当成一个文本节点,但火狐就不会,因此你的nextSibling很可能在ie下取到的是一个文本节点,换在火狐下就是另外一个。

本文转自:http://ailantian.bokee.com/6418694.html

原文如下:

网上firefox和ie的javascript兼容性也讲的比较多了

可以在百度上搜索”firefox javascript 兼容性”

比较简单的东西百度上能找到中文的就用baidu好了.

主要一般都是document.all这样的应用,一般改为getElementById

还有就是一个页面有多个表单的时候需要注意一些问题.

下面还有一些需要补充的

就是firstChild,nextsbiling这两个.

下面给出函数吧.还是代码比较说明问题

代码都是网上来的.

不过要注意的是,getNext和getFirstChild是不一样的

next是下一个,同级别的下一个,不会取到自己这个节点的子节点.

可能是因为对dom的理解不一样ie和firefox对firstChild,nextSbiling的处理不太一样.

所以要取到下一个结点,只能用type来判断了.

function getNextSibling(startBrother){

  endBrother=startBrother.nextSibling;

  while(endBrother.nodeType!=1){

    endBrother = endBrother.nextSibling;

  }

  return endBrother;

}

function getNextSibling1(obj){

if(obj.nextSibling.nodeType==3) {

sibling=obj.nextSibling.nextSibling; // Moz. Opera

}

else {

sibling=obj.nextSibling; // IE

}

return sibling;

}

function getFirstChild(obj){

for (i=0; i<obj.childNodes.length; i++){

if (obj.childNodes[i].nodeType==1)

    return obj.childNodes[i];

else 

    continue;

}

需要使用的时候先getElementByid获取到首结点,然后就可以取到后面的结点了.

另外就是ie不区分变量大小写,收到html首先就格式化了,所以要注意id可能会相同.

会导致一些问题.

另外就是ie会把NULL字符转换成space空格,firefox是不会处理的,但是

如果javascript里面处理NULL会有一些问题.opera基本能够兼容IE的一些

函数,比如documnet.all等等.基本都能用吧,不过空字符还是不行的.是变量中的空字符

会带来问题.

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

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

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


相关推荐

  • 自用知识_实用小知识

    自用知识_实用小知识1异步内部类privateHandlerhandler=newHandler(){                  @OverridepublicvoidhandleMessage(Messagemsg){                           if(msg.obj!=null&&listener!=null){

    2025年7月2日
    3
  • s一般怎么称呼自己的m_75.9%的职场人,都不知道怎么称呼自己的领导

    s一般怎么称呼自己的m_75.9%的职场人,都不知道怎么称呼自己的领导包邮送!人力资源制度手册纸质版和电子版23套制度覆盖员工入职到离职各环节82份表格制度配套全面规范附赠电子版可复制可编辑原价49元纸质版+电子版包邮送!!!最后30本!扫码回复【100】立抢!来源:猎聘(ID:liepinwang)作者:放学堵他谁能想到「怎么称呼别人」这样看似简单到不能再简单的问题,居然会成为让职场萌新发懵,甚至打怵的究极难题。不要以为这是什么夸张的说…

    2022年6月23日
    88
  • 几种常见模式识别算法整理和总结

    几种常见模式识别算法整理和总结

    2021年12月3日
    34
  • FRP内网穿透教程「建议收藏」

    FRP内网穿透教程「建议收藏」FRP内网穿透介绍frp是一个专注于内网穿透的高性能的反向代理应用,支持TCP、UDP、HTTP、HTTPS等多种协议。可以将内网服务以安全、便捷的方式通过具有公网IP节点的中转暴露到公网。为什么使用frp通过在具有公网IP的节点上部署frp服务端,可以轻松地将内网服务穿透到公网,同时提供诸多专业的功能特性,这包括:客户端服务端通信支持TCP、KCP以及Websocket等多种协议。采用TCP连接流式复用,在单个连接间承载更多请求,节省连接建立时间。代理组间的负

    2025年11月9日
    4
  • DataGrip 2021激活码(注册激活)

    (DataGrip 2021激活码)好多小伙伴总是说激活码老是失效,太麻烦,关注/收藏全栈君太难教程,2021永久激活的方法等着你。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.htmlMLZPB5EL5Q-eyJsaWNlbnNlSWQi…

    2022年3月21日
    615
  • keepalived工作原理

    keepalived工作原理keepalived 工作原理 Keepalived 简介 Keepalived 是什么 VRRP 协议与工作原理 VRRP 选举机制工作过程 Keepalvied 的工作原理 Keepalived 体系结构与 heartbeat corosync 等比较 Keepalived 简介 Keepalived 是 Linux 下一个轻量级别的高可用解决方案 高可用 广义来讲 是指整个系统的高可用行 狭义的来讲就是主机的冗余和接管 它与 HeartBeat 实现类似的功能 都可以实现服务或者网络的高可用 但是又有差别 HeartBeat 是一个专业的

    2026年2月2日
    0

发表回复

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

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