JsDom 编程小结

  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();