天天看点

【JavaScript总结】JavaScript语法基础:DOM

->DOM的理解:文档对应dom树

【JavaScript总结】JavaScript语法基础:DOM
【JavaScript总结】JavaScript语法基础:DOM
【JavaScript总结】JavaScript语法基础:DOM

->有了DOM能做什么:DOM的操作

html文档做为DOM树模型,DOM树的节点就是对象。对象会触发事件来执行一些事件代码。

C#中的事件是一个委托变量,JavaScript事件就是方法,浏览器的底层也会有很多触发函数的机制。

事件要做什么就写什么。例如:a标签添加点击事件

if(a.onclick!=null){
	var res=a.onclick();
	if(res===true){
		break;  //默认的正常跳转就不做了,返回了FALSE表示这个事件默认处理忽略不做
	}
}
           

标准DOM中定义了12中节点类型:

元素节点–1

文本节点–3

属性节点–2

获得方式:<node>.nodeType

获取节点

  1. 获取页面中指定id的节点对象:document.getElementByID("id的字符串“)
  2. 获取页面中所有标签名符合要求的标签的节点集合: document.getElementsByTagName(“标签名”); //可以使用“*”
  3. 获取指定父节点下的所有名字符号要求的节点集合: 父节点.getElementsByTagName("标签名称”)
  4. 元素节点的子节点 :

      <node>.childNodes

      <node>.childNodes[0]

      <node>.firstChild

      <node>.lastChild

      <node>.childNodes[<node>.childNodes.length-1]

修改节点:修改节点的属性和包含的文本内容

 标准修改方法:

  <node>.setAttribute("属性名”,“值”)

  <node>.getAttrubute("属性名”);

 DOM-html方法

  <node>.属性名=值

  var v=<node>.属性名

添加节点

 创建节点

   -->元素节点:var node=document.createElement("标签名”);

   -->文本节点:

         var textNode=document.createTextNode(“文本”);

        <节点>.innerHTML=“文本”;//这里可以使用html

        <节点>.innerText=“文本”;//非标准

   -->属性节点:<节点>.setAttribute(…,…);

 追加节点

   -->追加到尾部

          父节点.appendChild(子节点);

   -->插入到中间(插入到某个元素的前面)

          父节点.insertBefore(新元素 ,旧元素);

删除节点

   父节点.removeChild(子节点);

为节点添加事件对象

<node>.οnclick=function(){};