您现在的位置是:网站首页> 编程资料编程资料
浅谈JavaScript中浏览器兼容的问题_心得技巧_网页制作_
2023-11-07
312人已围观
简介 下面小编就为大家带来一篇浅谈JavaScript中浏览器兼容的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
浏览器兼容性问题是在实际开发中容易忽略而又最重要的一部分。我们在讲老版本浏览器兼容问题之前,首先要了解什么是能力检测,它是来检测浏览器有没有这种能力,即判断当前浏览器是否支持要调用的属性或者方法。下面做了一些简短的介绍。
1、innerText 和 innerContent
1)innerText 和 innerContent 的作用相同
2)innerText IE8之前的浏览器支持
3)innerContent 老版本的Firefox支持
4)新版本的浏览器两种方式都支持
JavaScript Code复制内容到剪贴板
- // 老版本浏览器兼容 innerText 和 innerContent
- if (element.textContent) {
- return element.textContent ;
- } else {
- return element.innerText;
- }
2、获取兄弟节点/元素的兼容性问题
1)兄弟节点,所有浏览器都支持
①nextSibling 下一个兄弟节点,可能是非元素节点;会获取到文本节点
②previousSibling 上一个兄弟节点,可能是非元素节点;会获取到文本节点
2)兄弟元素,IE8以前不支持
①previousElementSibling 获取上一个紧邻的兄弟元素,会忽略空白
②nextElementSibling 获取下一个紧邻的兄弟元素,会忽略空白
JavaScript Code复制内容到剪贴板
- //兼容浏览器
- // 获取下一个紧邻的兄弟元素
- function getNextElement(element) {
- // 能力检测
- if(element.nextElementSibling) {
- return element.nextElementSibling;
- } else {
- var node = element.nextSibling;
- while(node && node.nodeType !== 1) {
- node = node.nextibling;
- }
- return node;
- }
- }
JavaScript Code复制内容到剪贴板
- /**
- * 返回上一个元素
- * @param element
- * @returns {*}
- */
- function getPreviousElement(element) {
- if(element.previousElementSibling) {
- return element.previousElementSibling;
- }else {
- var el = element.previousSibling;
- while(el && el.nodeType !== 1) {
- el = el.previousSibling;
- }
- return el;
- }
- }
JavaScript Code复制内容到剪贴板
- /**
- * 返回第一个元素firstElementChild的浏览器兼容
- * @param parent
- * @returns {*}
- */
- function getFirstElement(parent) {
- if(parent.firstElementChild) {
- return parent.firstElementChild;
- }else {
- var el = parent.firstChild;
- while(el && el.nodeType !== 1) {
- el = el.nextSibling;
- }
- return el;
- }
- }
JavaScript Code复制内容到剪贴板
- /**
- * 返回最后一个元素
- * @param parent
- * @returns {*}
- */
- function getLastElement(parent) {
- if(parent.lastElementChild) {
- return parent.lastElementChild;
- }else {
- var el = parent.lastChild;
- while(el && el.nodeType !== 1) {
- el = el.previousSibling;
- }
- return el;
- }
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责!
相关内容
- 浅谈前端制作中,IE6还有必要兼容吗_心得技巧_网页制作_
- CSS3实用方法总结(推荐)_心得技巧_网页制作_
- 人人必知10个网站易用性技巧 _心得技巧_网页制作_
- 关于启用 HTTPS 的一些经验分享_心得技巧_网页制作_
- 分享15个最佳的HTML/CSS设计和开发框架_心得技巧_网页制作_
- 分享10个最新的Web前端框架(翻译)_心得技巧_网页制作_
- 关于favicon.ico的两三事(最好就是放根目录)_心得技巧_网页制作_
- 节奏大师 歌曲桃园乡的外星人信息攻略_手机游戏_游戏攻略_
- 全民打怪兽内测资格获取方法详细介绍_手机游戏_游戏攻略_
- 乱世曲黑屏闪退的解决方法分享_手机游戏_游戏攻略_
点击排行
本栏推荐
