|
JsDom编程小结,需要进行dom操作的朋友可以参考下。
1.浏览器兼容问题: 浏览器兼容性的例子:ie6,ie7对table.appendChild("tr")的支持和IE8不一样,用insertRow、insertCell来代替或者为表格添加tbody,然后向tbody中添加tr。FF(FireFox)不支持InnerText,用textContent代替 2.几乎所有DOM元素都有innerText、innerHTML属性(注意大小写),分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的。 动态创建元素的时候innerHTML可以代替createElement(),属于简单,粗放型,后果自负的创建 3.write(): document.write()只能在页面加载过程中才能动态创建 4. document是window对象的一个属性,因为使用window对象成员的时候可以省略window.,所以一般直接写document 5.history操作历史记录 window.history.back()后退;window.history.forward()前进。也可以用window.history.go(-1)、window.history.go(1)前进 6.clipboardData对象,对粘贴板的操作: clearData("Text")清空粘贴板;getData("Text")读取粘贴板的值,返回值为粘贴板中的内容;setData("Text",val),设置粘贴板中的值。 7.oncopy="setTimeout('modifyClipboard()',100)"。用户复制动作发生0.1秒以后再去改粘贴板中的内容。100ms只是一个经常取值,写1000、10、50、200……都行。不能直接在oncopy里修改粘贴板。不能直接在oncopy中执行对粘贴板的操作,因此设定定时器,0.1秒以后执行,这样就不再oncopy的执行调用栈上了 8.returnValue属性: returnValue属性,如果将returnValue设置为false,就会取消默认事件的处理。在超链接的onclick里面禁止访问href的页面。在表单校验的时候禁止提交表单到服务器,防止错误数据提交给服务器、防止页面刷新。 //window.event.returnValue不兼容火狐浏览器 9. window.event对象的成员: srcElement,获得事件源对象。几个事件共享一个事件响应函数用。****_click(object sender,EventArgs e)//只有IE支持。 button,发生事件时鼠标按键,1为左键,2为右键,3为左右键同时按。//要测试event.button的值的时候,请在onmousedown事件中测试。如果在onclick事件中只能识别鼠标左键的单击。 10. window.location.href=‘';//重新导航到新页面,可以取值,也可以赋值。 window.location.reload();//刷新当前页 location.search:获得url(?号以后的,包含?) 11. (1)onload:网页加载完毕时触发,浏览器是一边下载文档、一边解析执行,可能会出现JavaScript执行时需要操作某个元素,这个元素还没有加载,如果这样就要把操作的代码放到body的onload事件中,或者可以把JavaScript放到元素之后。元素的onload事件是元素自己加载完毕时触发,body onload才是全部加载完成 (2)onunload:网页关闭(或者离开)后触发。 (3)onbeforeunload:在网页准备关闭(或者离开)前触发。 <body onbeforeunload=“return ‘真的要放弃发帖退出吗?'; ">。显示的文字随浏览器版本而有差异。 12. js中调用方法的时候就是把指针赋给它 var t=add; function add(){} 13. window.event.clientX是客户端可视界面 14. 一、setInterval(code,time)方法可以每隔 time毫秒执行一次code. 其中的code有两种方式: 1.直接传入 某个方法 对象 - setInterval(showTime,1000); 2.直接传入要执行 的 js代码字符串 - setInterval("alert(1);",1000); 二、关于 for in (用来循环 对象的属性和值) 使用 for in 来循环数组时,会将 数组的属性先循环出来 然后再 循环 数组里的元素 ,但此时 循环出来的 k 是元素的下标 三、innerHTML 将 字符串 添加到 对应的 双标签 中间。 并且立刻对 该字符串进行解析,如果符合html标签的语法, 则,立即调用 浏览器的解析器,对该字符串进行html解析,并 生成对应的 dom 对象,最后,将该dom对象,追加到被添加的 对象的 子元素 集合(ChildNodes)中。 15. ShowModalDialog函数的功能: 打开一个子窗口,并且可与父窗口相互传递数据,它与window.open的最大区别 就在于由ShowModalDialog打开子窗口后,父窗口将不能操作。 使用方法: vReturnValue = window.showModalDialog(sURL [, vArguments] [, sFeatures]) 参数说明: sURL 必选参数,类型:字符串。用来指定对话框要显示的文档的URL。 vArguments 可选参数,类型:变体。用来向对话框传递参数。传递的参数类型不限,包括数 组等。对话框通过window.dialogArguments来取得传递进来的参数。 sFeatures 可选参数,类型:字符串。用来描述对话框的外观等信息,可以使用以下的一个 或几个,用分号“;”隔开。 dialogHeight 对话框高度,不小于100px,IE4中dialogHeight 和 dialogWidth 默认的单位是em,而IE5中是px,为方便其见,在定义modal 方式的对话框时,用px做单位。 dialogWidth: 对话框宽度。 dialogLeft: 距离桌面左的距离。 dialogTop: 离桌面上的距离。 center: {yes | no | 1 | 0 }:窗口是否居中,默认yes,但仍可以指定 高度和宽度。 help: {yes | no | 1 | 0 }:是否显示帮助按钮,默认yes。 resizable: {yes | no | 1 | 0 } [IE5+]:是否可被改变大小。默 认no。 status: {yes | no | 1 | 0 } [IE5+]:是否显示状态栏。默认为yes[ Modeless]或no [Modal]。 scroll:{ yes | no | 1 | 0 | on | off }:指明对话框是否显示滚动 条。默认为yes。 参数传递方法: 父窗口向子窗口传递参数采用ShowModalDialog的第2个参数即可,父窗口要获取 子窗口传回的参数则可通过ShowModalDialog函数的返回值获取。 子窗口获取父窗口参数的方法为采用子窗口window对象dialogArguments属性获 取,例如: parent.html <script> var obj = new Object(); obj.name="51js"; window.showModalDialog ("modal.html",obj,"dialogWidth=200px;dialogHeight=100px"); </script> modal.html <script> var obj = window.dialogArguments alert("您传递的参数为:" + obj.name) </script> 子窗口向父窗口返回参数采用window.returnValue属性,如: window.returnValue=1; window.close(); |
|