zoukankan      html  css  js  c++  java
  • JS DOM操作

    Dom 

      Dom:文档对象模型(Document Object Model,简称DOM)是一种用于HTML和XML文档的编程接口。它给文档提供了一种结构化的表示方法,可以改变文档的内容和呈现方式。

      1、document 

          它指的是HTML(显示数据)或XML标签(传输数据)

          例如:<body></body> <div></div><p></p> 这样的标签

      2、object 对象  

        注:使用js操作html就需要先将html结果转成js对象。
        转成对象的四种形式
          (1)标签名【多个】
            var objs = document.getElementsByTagName(“div”) //获取文档中的所有div
          (2)id【1个】//若有多个重复id默认获取第一个
            var obj = document.getElementById("one");
          (3) name 【多个】
            var objs = document.getElementsByName("two");

          (4) class name【多个】
            var objs = document.getElementsByClassName("three");    

        <!-- 获取对象 -->
    	<div></div>
    	 <div id="one">one</div>
    	 <div name="two">two</div>
    	 <div class="three">three</div>
    	<script>
    		var obj1 = document.getElementsByTagName("div");
    		var obj2 = document.getElementById("one");
    		var obj3 = document.getElementsByName("two");
    		var obj4 = document.getElementsByClassName("three");
    		console.log(obj1);
    		console.log(obj2);
    		console.log(obj3);
    		console.log(obj4);
    	</script>

        转换成对象便可进行3种操作
          (1)操作属性
            对象名.属性名 = “值”
          (2)修改内容
            innerText //修改文本内容
            innerHTMl //修改html
            也可以使用对象名.innerText 获取文本值
            注:表单(input text area)取值时不可以使用innerText得使用value
          (3)修改样式
            (1)对象名.style.css样式名 = “值”
            (2)使用对象名. className = “值” 添加新的class名来修改样式
                使用对象名. className+ = “ ” + “值” 添加新的class名来修改样式

       <a id = "link" href="http://www.baidu.com" target = "_blank" title = "this is title">test </a> 
        <script>
            /*修改属性*/
            var link = document.getElementById("link");
            link.href = "http://www.hteis.cn";
            link.title = "new title"
    
            /*修改内容*/
            link.innerText="恒泰能联";   //修改文本内容
            link.innerText="<b>恒泰能联</b>";
    
            link.innerHTML = "<h1>hteis</h1>"  //修改html
    
            /*修改样式*/
            link.style.color ="red";
            link.className = "test";
            link.className += " " + "test1";
      </script>

    3、Modal

      (1)将文档想像成一个倒树,每一部分(元素,内容,属性,注释)都是节点

      

      (2)只要找到一个节点按照关系就可以找到所有的节点
         父节点 :parentNode
         子节点(第一个,最后一个):childNodes firstNode lastNode
         兄弟节点(上一个(左边),下一个(右边)): previoussibling nextsibling
      (3)节点有
        节点类型nodeType
        节点名nodeName
        节点值nodeValue

    	<!-- modal -->
    	<div>
    		<b>eddd</b>
    		<p id="pp">
    			ff
    			<a href="#">agf</a>
    			<span>fdigig</span>
    			
    		</p>
    		<button onclick="myFunction()">试一下</button>
    		<input type ="text" value ="abg" />
    	</div>
    	<script>
    		/*modal*/
    		var pp = document.getElementById("pp");
    		console.log(pp);
    		console.log(pp.parentNode.nodeName);
    		console.log(pp.previousSibling.previousSibling);
    		console.log(pp.nextSibling.nextSibling);
    		console.log(pp.childNodes);
    		console.log(pp.firstChild.nodeType);//节点类型
    		console.log(pp.firstChild.nodeValue);//节点值
    		console.log(pp.lastChild.nodeName);//节点名
    		function myFunction()
    		   {
    			var c=document.getElementsByTagName("button")[0];
    			console.log(c.childNodes[0].nodeValue);
    		}
    	</script>
    

     若有错误欢迎留言指正


    作者:BlancheWang 
    出处:http://www.cnblogs.com/hhw3
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接。

  • 相关阅读:
    LeetCode:149_Max Points on a line | 寻找一条直线上最多点的数量 | Hard
    LeetCode: 150_Evaluate Reverse Polish Notation | 分析逆波兰式 | Medium
    LeetCode:151_Reverse Words in a String | 字符串中单词的逆反 | Medium
    Cellular Traffic Offloading
    在word 2010中采用EndNote X7插入引用
    屏幕截图和标记
    A Nice Paper About Mobile Data Offloading
    linux Redhat 6环境上通过源码包安装DRBD 8
    hbase shell中执行list命令报错:ERROR: org.apache.hadoop.hbase.PleaseHoldException: Master is initializing
    如何通过phoenix中查看表的主键信息
  • 原文地址:https://www.cnblogs.com/hhw3/p/6898957.html
Copyright © 2011-2022 走看看