当前位置: 首页 > 图文教程 > 网络编程 > Javascript > AJAX中DOM的操作方法

Javascript
用JavaScript实现浏览器地震效果
Javascript实例教程(8) 利用Javascript基于浏览器类型的重定向
Javascript实例教程(14) 鼠标触发窗口
使主页呈现“飞舞”特效
Javascript实例教程(21) OLE Automation(1)
Javascript实例教程(13) 鼠标移过时报警
Javascript实例教程(10) 随机显示图片
Javascript实例教程(2) 创建弹出式窗口
JavaScript 小技巧(第十集)
Javascript实例教程(3) 创建折叠式导航菜单
Javascript实例教程(7) 利用Javascript进行密码保护
完美解决一个事件激活多个函数(2)
Javascript模拟游戏中的弹出菜单效果
Javascript实例教程(6) 在一个表单中设置和检查Cookies
JavaScript 小技巧(第八集)
Javascript实例教程(4) 探测浏览器插件
JavaScript 小技巧(第九集)
JavaScript学习:基础继承机制
初学Javascript之cookie篇(译)
让弹出窗口变得“体贴”一些(javascript)

Javascript 中的 AJAX中DOM的操作方法


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-28   浏览: 78 ::
收藏到网摘: n/a

被AJAX中DOM的操作郁闷了好几天,今天总算搞明白了,自学就是苦啊,苦的一把鼻涕一把泪的,把教训些出来,给后来者提个醒,老鸟就不要看了。

1.DOM中的对XML的操作不要和浏览器中的弄混掉了,比如getElementByName是浏览器中内置document对象的DOM操作,你用来操作responseXML就是错误的.在浏览器中,你可以使用document.getElementsByName('tagname')[0].value来获取控件值,但是在操作 responseXML的时候你就必须使用getElementsByName('tagname')[0].firstChild.data (nodeValue一样)。

2.如果你要应用responseXML,那么你要在服务器的应答服务中写上response.setContentType("text/xml");
假如你的AJAX的代码没有一次通过,那么即使在你更改正确后,页面也许还是错误的,这个是讨厌的浏览器缓存造成的,
万恶的缓存,我在这上面耽搁了至少1整天
所以你最好在服务器应答页面写上禁止缓存的语句 response.setHeader("Cache-Control","no-cache");
(请求url后面+当前系统的毫秒数也是一种方法。在js中用new Date().getTime()来获取系统与某一特定时间的毫秒差额。).

3.因为当前IE的一些标准不完全符合W3C。例如:
监视控件的改变我们都知道onchange事件,但是对于text控件IE是不支持onchange属性的,所幸我们onpropertychange事件来监听text。
再如我们在除IE以外的浏览器中设置CSS属性可以使用setAtrribute(),但是在IE中不支持,同样我们使用EObj.style.stylearrtibute=value来实现。