- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浅析JavaScript中浏览器的兼容问题.doc
浅析JavaScript中浏览器的兼容问题
下面小编就为大家带来一篇浅析JavaScript中浏览器 的兼容问题。小编觉得挺不错的,现在分享给大家,也给 大家做个参考
浏览器兼容性问题是在实际开发中容易忽略而又最重 要的一部分。我们在讲老版本浏览器兼容问题之前,首先 要了解什么是能力检测,它是来检测浏览器有没有这种能 力,即判断当前浏览器是否支持要调用的属性或者方法。 下面做了一些简短的介绍。
1、innerTex t 和 innerCont ent
inne rText 和 inner Content 的作用相同
innerT extIE8之前的浏览器支持
inne rContent 老版本的 Firefox 支持
新版本的浏览器两种方式都支持
1//老版本浏览器兼容inner Text和innerC ontent
2if (element? te xtContent) {
3nbsp; nbs p; returnele ment? textCo ntent;
4nbsp ;}else {
5n bsp; nbsp; re turnelement . innerText;
6nbsp;}
2、获取兄弟节点/元素的兼容性问题 nbsp;l)兄弟节点,所有浏览器都支持
nextSibl ing下一个兄弟节点,可能是非元素节点; 会获取到文本节点
pr eviousSibli ngnbsp;_b一个兄弟节点,可能是非 元素节点;会获取到文本节点
n bsp;2)兄弟元素,IE8以前不支持
previousEle mentSibling获取上一个紧邻的兄弟元 素,会忽略空白nbsp ;
nextEle mentSibling nbsp;获取下一个紧邻的兄弟 元素,会忽略空白
//兼容浏览器
//获取下一个紧邻的兄弟元素
functiong etNextEleme nt (element) { nbsp;//能力检测
nbsp; if (element. nex tElementSib ling) {
nbs p;nbsp;retu rnelement? n extElementS ibling; nbsp :}else{
nb sp;nbsp;nbs p; varnode=e lement? next Sibling;
n bsp;nbsp;nb sp;while(no deamp;amp;n ode? nodeTyp e!==l) {
nb sp;nbsp;nbs p;nbsp;nbsp ;node=node? nextibling;
nbsp;nbsp;n bsp:}
nbsp ;nbsp;nbsp;returnnode;
nbsp;}
nbsp;}
/**
*返回上一个元素
*par amelement
*r eturns {*}
*/
functiong etPreviousE lement (elem ent) {
nbsp ; if (element ? previousEl ementSiblin g) {
nbsp;n bsp;returne lement. prev iousElement Sibling;
nbs p;} else {
n bsp;nbsp; va rel=element ? previousSi bling;
nbs p;nbsp;whil e (elamp; amp ;el? nodeTyp e!二二 1) {
nb sp;nbsp;nbs p;el=e 1. pre viousSiblin g; nbsp;nbsp ;nbsp;} nbsp ;nbsp;retur nel;
nbsp;}
/**
*返回第一个元素first ElementChil d的浏览器兼容
* par amparent
*re turns {/***返回最后一个元素
/**
*返回最后一个元素
parampare nt
/**
*获取当前元素的所有兄弟元素
*p aramelement
*/
functionge tFirstEleme nt (parent) {
nbsp; if (p arent? first ElementChil d) {
nbsp;n bspjreturnp arent. first ElementChil d; nbsp;} els e {
nbsp;nb sp: varel=pa rent. firstC hild;
nbsp ;nbsp;while (elamp;amp;e1. nodeType !==1){
nbs p;nbsp;nbsp ;el=eL next Sibling;
nbs p;nbsp;nbsp ;}
nbsp;nbsp jreturnel;
n bsp:}
*ret
文档评论(0)