- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
浏览器兼容的JS写法总结.docx
浏览器兼容的JS写法总结
浏览器兼容的JS写法总结,涵盖的内容很全面,感兴
趣的小伙伴们可以参考一下
document? all[name]
(1)现有问题:Firefox 不支持 document, all [name]
(2)解决 方法:使用 getElementsByName (name), getElementByld (id)等来替代。
集合类对象问题
现有问题:IE中对许多集合类对象取用时可以用(), 但在F irefox只能用[]。
女口: IE 中可以使用 document, f or ms (/zformN aine〃)来 返回名字为^formName^的Fonn,但在Fire fox却行不通。
解决方法:使用口,上例中可以改为doc ument? forms [〃formName〃]
HTML元素的ID在JavaScr ipt可见
现有问题:IE中HTML元素中的ID可以作为d ocument的下属对象变量名直接使用。在F irefox中不能。
解决方法:使用 getElementB yId(/zidName “)代替 idName作为对象变量使用。
e val (idName)取得对象
(1)现有问题:在IE中,利用e val (idName)可以取得
ID为idNa me的HTML对象,在Firefox中不能。
(2)解决方法:用 getElementB yld(idName)代替 eval (idNa me) o nbsp;
变量名与某HTML对象ID相同
现有问题:在Firefox中,因为对象ID不作为 HTML对象的名称,所以可以使用与HTML对象id相同的变 量名,IE中不能。
解决方法:在声明变量时,一律加上VQG以避免
歧义,这样在IE中亦可正常运行。此外,最好不要取与
HTML对象
HTML对象id相同的变量名,
以减少错误。
注:3、4和5都属于同一类的问题。
F rame
现有问题:在IE中可以用w indow. top. f rameId 和 wind ow. top. fram eName 来得到该 Fr ame 所代表的 Wind ow, Firefox 中只能用 window. t op. frameNam e。
解决方法:将Frame的Id和Name设置成相同,使 用 window. top ? frameNQine 来访i可 Frameo
二、DOM操作
1?设置元素的文本内容。
现有问题:IE使用inn erText,而Fir efox使用 textC ontent来设置元素文本内容。
解决方法:如果文本内容不包含〃It;〃和〃gt ;〃等特 殊字符,可以使用innerHTMLo否则,可以使用:
v archild=ele m. firstCh订 d;
if (chil d!=null)ele m. removeChi ld(child);
elem. appen dChild (docu merit, create TextNode (co ntent));
2 . parentElem ent, parent. children
现有问题:IE可以使用parentEle merit获得父结 点,p arent. child ren得到结点的所有孩子结点。 Firefox 不支持。
(2)解决 方法:使用parent Node和 parent ? childNodes。
对 childNo des 的解释。
(1 )现有问题:IE和Fi refox中对chil dNodes的解 释不同,IE不会包含空白文本结点,而Firefox会包含。
解决方法:使用childN odes过滤文本结点,如下: nbsp;
v archildren=elem? childN odes;
nbsp ;for (i=0; il t;children. length; i++) {
nbsp;nbs p; if (childr en[i]? nodeT ype!=3) {//过滤文
本结点
nbsp;n bsp;//??? nb spjnbsp;}
nb sp;}
对 do cument. getE lementsByNa me 的解释。
(1)现有问题:IE中get ElementsByN ame只会检查 It; i nputgt;和It; imggt;元素,而在Firefox下会检查所 有元素。
(2)解决方法:不要使用get ElementsByN ame检查除
It; in putgt;和It; i mggt;之外的元素,如果要获得单个元
素,尽量使用 getEleme ntByldo
对 document, g etElementBy Id 的解释。
(1)现有问题:IE中ge
文档评论(0)