、
- 、
- 等所有的节点(???)。
属性节点:title、 name、 id等。
文本节点:eg:
谁包含着我谁就是文本节点
DOM属性 node.childNodes;node.childNodes[0]<===>node.firstChild ;node.lastChild //childNodes:遍历父元素,查找子元素,返回一个数组 node.nodeType;node.nodeValue//检索节点的值,的第一个子节点的值才是文本内容 可以使用firstChild.nodeValue; nodeName //总是返回大写字母 node.parentNode //与childNode相反,返回父节点对象的引用指针 previousSibling //返回一个给定节点的下一个子节点对象的引用指针 onclick事件 onclick="method(para);return false"//点击链接时,只执行js的方法,而返回false,被认为是没被点击; element.onclick=function(){return method(this);} 弹出窗口 window.open(url,name,features)//3个属性都是可选的,可以通过第2个参数来和新窗口通信,第3个参数定义新窗口的属性; 搜狐 //this.href 意思就是获取当前节点的href的值 if(!document.getElementById) { //对当前浏览器是否支持DOM进行检查,也可使用其他的DOM方法 return false; } function method(){!#$!#@$@#$@} window.onload=method;//绑定方法到onload事件处理函数上 window.onload=function(){firstMethod();secondMethod();}//绑定多个方法到onload事件处理函数上 function addevent(method)//检测是否已经绑定函数!若没,则把新函数赋值给它,若有,则将新函数添加到现有函数的末尾; {var oldonload=window.onload;if(typeof window.onload !='function'){window.onload=method;} else{window.onload=function(){oldonload();method();}}} onkeypress事件//尽量不用这个事件 DOM方法: document.getElementsById(value) //返回节点id=value的对象 getElementsByTagName(tagname) //返回 setAttribute(attribute,value) getAttribute(attribute) hasChildNodes//返回一个bool值,判断该父节点是否有子节点 eg:var getid=document.getElementById("value"); var tag=getid.getElementByTagName("*");//tag数组包含id值为value的无序清单的元素," * "为通配符; getElementsById 和getElementsByTagName 这个大小写得注意,一个都不能错; document.getElementsByTagName("body) <===>document.body HTML-DOM: document.getElementByTagName("form") <====> document.form element.getAttribute("src") <====> element.src element.setAttribute("src",url) <====> element.src=url document.write("
Content
"); createTextNode(Content)//创建新文本节点 createElement(element)//创建新元素 cloneNode(bool)//这个方法的参数为true或false,true则返回一个包含子节点的新节点的引用指针,false则不包含子节点 parent.appendChild(child)//在父节点那插入子节点 parent.removeChild(node)//删除该节点的一个子节点 parent.replaceChild(newChild,oldChild)//替换oldChild为newChild parentElement.insertBefore(newElement,targetElement)//将一个新元素插入到目标元素之前 function insertAfter(new Element,targetElement){ //编写与insertBefore相对应的insertAfter函数 var parent = targetElement.parentNode;//提取目标元素的parentNode属性值到变量中; if (parent.lastChild==targetElement){//检查目标元素是不是parent的最后一个子元素 parent,appendChild(newElement);//如果是,那么用appendChild()将新元素追加到parent上,这样新元素就处于目标元素的后面 }else{ parent.insertBefore(newElement,targetElement,nextSibling);}} //如果不是,则用insertBefore将新元素插入到目标元素的nextSibling(即下个元素)之前; eg: 在testid那插入一段话"This Content is a test" 使用innerHTML写法 window.onload=function() //简单,但是由于innerHTML是IE的专利,所以自己看着办吧 { var testid=document.getElementById("testid"); testid.innerHTML="
This Contentis a test
"; } 使用正式Dom写法 window.onload=function(){var para=document.creatElement("p"); var txt1=document.createTextNode("This"); var emce=document.createElement("em"); var txt2=document.createTextNode("Content"); var txt3=document.createTextNode("is a test"); para.appendChild(txt1);emce.appendChild(txt2); para.appendChild(emce);para.appendChild(txt3); var testid=document.getElementById("testid"); testid.appendChild(para);} js其他函数 setTimeout("method",interval)//在interval个毫秒后,执行method这个方法; parseInt(string)//将string里包含的数值给提取出来,不过数值是整数 parseFloat(string)//同上,不过数值是浮点的; 类似于watermark性质的函数resetFields function resetFields(whichform){ for(var i=0;i