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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机网络教学常用哪些软件,仿真软件在计算机网络教学中的应用

    仿真软件的出现和计算机技术的发展具有密切的关系,它进一步拓展了计算机的应用范围,并且促进了科学技术的进步。仿真软件具有比较强大的功能,其中设置了不同的模块,能够满足教师教学的需要,对于教学和科研具有重要的帮助。在计算机网络教学的过程中应当充分地发挥认真软件的价值,提高课堂教学效率,加深学生的理解。一、仿真软件简介为了实现对现实客观世界的模拟和分析,研发了相应的仿真软件,仿真软件的出现大大地提高了教…

    2022年4月3日
  • datagrip2021激活码-激活码分享

    (datagrip2021激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月27日
  • idea2021.3激活吗 30 天破解方法

    idea2021.3激活吗 30 天破解方法,https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月15日
  • Kafka简明教程「建议收藏」

    Kafka简明教程「建议收藏」作者:柳树之www.jianshu.com/p/7b77723d4f96Kafka是啥?用Kafka官方的话来说就是:Kafkaisusedforbuildingreal-timedatapipelinesandstreamingapps.Itishorizontallyscalable,fault-tolerant,wickedfast,an…

    2022年10月17日
  • initramfs实作「建议收藏」

    initramfs实作「建议收藏」这个是翻译来的,原文地址:http://www.landley.net/writing/rootfs-howto.html //TechTip:Howtouseinitramfs.怎样使用initramfs 工作过程简述在2.6kernel启动时,它把rootfs作为它的第一个文件系统挂载(注意:这里的rootfs是真名!!!不是roo

    2022年8月11日
  • MIUI刷Android原生,小米手机怎么刷安卓原生系统

    MIUI刷Android原生,小米手机怎么刷安卓原生系统小米手机自带的系统很好,但是很多人还是希望用安卓的原生系统,小米手机是支持刷机成为安卓原生系统的。那么小米手机怎么刷安卓原生系统呢?今天学习啦小编与大家分享下小米手机刷安卓原生系统的具体操作步骤,有需要的朋友不妨了解下。小米手机刷安卓原生系统方法下载工具包和线刷完整包,下载完成后解压,刷机工具点击下载MIUI最新版线刷Fastboot开发版完整包点击下载。(请检查文件后缀名是否为”.tgz”,如…

    2022年6月19日

发表回复

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

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