-----------------------Windows Phone 7手机开发、.Net培训期待与您交流! --------------------------------------
Dom基础知识学习笔记2
1.在网站汇总复制文章的时候为了防止那些拷贝党不添加文章来源,自动在复制的内同后添加版权声明。function modifyClipboard(){
clipboarrdData.setData(‘Text’,clipboardData.getData(‘Text’)+’本文来自.......;转载请注明来源。’+location.href);
}//不能直接在oncopy中修改粘贴板。
oncopy=”setTimeout(‘modifyclipboard()’,100)”;//复制动作发生一段时间后再修改粘贴板的内容。不能直接在oncopy中执行对粘贴板的操作,因此设定定时器,0.1秒后执行,这样就 不在oncopy的执行调用栈上了。
2.history操作历史记录
Window.history.back()后退;window.history.forward()前进;也可以用window.history.go(-1)后退,window.history.go(1)前进。
3.document属性:表示当前HTML文档
4.Document的方法
Write:向文档中写入内容,writeln和write差不多,最后加了个回车。
例:<input type=”button” value=”点击” onclick=”document.write(‘<font color=red>你好</font>’)”/> 在onclick等时事件中写的代码会冲掉页面中的内容,只有在页面加载过程中write才会和员有内容融合在一起。例:<script type=”text/javascript”>
Document.write(‘<font color=red>你好</font>’);</script>
getElementById方法,根据元素的Id获得对象,网页中id不能重复,也可以直接通过元素的id来引用元素,但是有有效范围,因此不建议直接通过id操作而是通过方法。
如form id=”form1”中input id=”textbox1”;如果直接textbox1.value会报错找不到id为textbox1的控件,而是要通过form1.textbox1才能找到。
getElementsByName,根据元素的name获取对象,由于页面中元素的name可以重复,比如多个RadioButton的name,因此getElementsByName返回值是对象数组。
getElementsByTagName获得指定标签名称的元素数组,发生事件时取得引发事件的控件:window.event.srcElement.
5.documnent.write只能值页面加载过程中才能动态创建。可以调用document的createElement方法来创建具有指定标签的dom对象,然后通过调用某个元素的appendChild方法将新创建的元素添加到相应的元素下。例:function show(){
var divmain=documnent.getElementById(“divmain”);
Var btn=document.createElement(“input”);
btn.type=”button”;
btn.value=”动态”;
divmsin.appendChild(btn);//将动态产生的元素添加到divmain层
}
<div id=”divmain”></div>
<input type=”button” value=”点击” onclick=”show()”/>
6.几乎所有Dom元素都有innerText,innerHTML(注意大小写)属性,分别是元素标签内内容的文本表示形式和HTML源代码,这两个属性是可读可写的,用innerHTML也可以代替createElement,属于简单粗放型后果自负的创建。
7.Js中可以用parseInt(string,进制数)可将字符串解析成数值类型。
8.在标准Dom中添加元素一般使用appendChild();ie6 ie7不支持table.appendChild(“tr”);
要使在IE6和IE7都能运行,在js中怎样在一个table中添加一行?
Var tr=tableLinks.insertRow(-1);//tableLinks表示插入到的表格;
Var td1=tr.insertcell(-1);
9.事件冒泡:如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件被触发,B的onclick也会被触发,触发的顺序是由内而外;
10.事件中的this除了可以使用event.srcElement在事件响应函数中(即点击控件触发是事件是哪个控件),this表示发生事件的控件,只有在事件响应函数才能使用this获得发生的控件,在事件响应函数调用的函数中不能使用,如果要使用则要将this传递给函数或者使用event.srcElement .this 和srcElement的语义是不一样的,this就是表示当前监听事件的这个对象,event.srcElement是引发事件的对象,可以从冒泡看出。
-----------------------Windows Phone 7手机开发、.Net培训期待与您交流! --------------------------------------