文档章节

DOM

路蒙蒙
 路蒙蒙
发布于 2017/07/04 19:32
字数 1315
阅读 3
收藏 0

HTML文档可以说由节点构成的集合,三种常见的DOM节点:

1. 元素节点:上图中<html>、<body>、<p>等都是元素节点,即标签。

2. 文本节点:向用户展示的内容,如<li>...</li>中的JavaScript、DOM、CSS等文本。

3. 属性节点:元素属性,如<a>标签的链接属性href="http://www.imooc.com"。

 

1.通过ID获取元素

语法:

document.getElementById("")

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>document.getElementById</title>
</head>
<body>
<p id="con">JavaScript</p>
<script type="text/javascript">
  var mychar=document.getElementById("con");
  document.write("结果:"+mychar); //输出获取的P标签。 //在最后输出时用的函数中若不加innerHTML则会出现提示中说明的null或[object HTMLParagraphElement],但当加了inner则会显示标签p里面的内容,这就是函数inner的用途。
</script>
</body>
</html>

注:获取的元素是一个对象,如想对元素进行操作,我们要通过它的属性或方法。

2.innerHTML 属性

语法:

Object.innerHTML

注意:

1.Object是获取的元素对象,如通过document.getElementById("ID")获取的元素。

2.注意书写,innerHTML区分大小写。

我们通过id="con"获取<h2> 元素,并将元素的内容输出和改变元素内容,代码如下:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>innerHTML</title>
</head>
<body>
<h2 id="con">javascript</H2>
<p> JavaScript是一种基于对象、事件驱动的简单脚本语言,嵌入在HTML文档中,由浏览器负责解释和执行,在网页上产生动态的显示效果并实现与用户交互功能。</p>
<script type="text/javascript">
  var mychar=document.getElementById("con");
  document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
  con.innerHTML="Hello world!"
  document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容
</script>
</body>
</html>

3.改变 HTML 样式

语法:

Object.style.property=new style;

注意:Object是获取的元素对象,如通过document.getElementById("id")获取的元素。

基本属性表(property):

注意:该表只是一小部分CSS样式属性,其它样式也可以通过该方法设置和修改。

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>style样式</title>
</head>
<body>
  <h2 id="con">I love JavaScript</H2>
  <p> JavaScript使网页显示动态效果并实现与用户交互功能。</p>
  <script type="text/javascript">
   var mychar= document.getElementById("con");
mychar.style.color="red";
 mychar.style.backgroundColor="#ccc";
 mychar.style.width="300px";

  </script>
</body>
</html>

4.显示和隐藏(display属性)

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>display</title>
    <script type="text/javascript"> 
        function hidetext()  
		{  
		var mychar = document.getElementById("con");
        mychar.style.display="none";
		}  
		function showtext()  
		{  
		var mychar = document.getElementById("con");
        mychar.style.display="block";
		}
    </script> 
</head> 
<body>  
    <h1>JavaScript</h1>  
    <p id="con">做为一个Web开发师来说,如果你想提供漂亮的网页、令用户满意的上网体验,JavaScript是必不可少的工具。</p> 
    <form>
       <input type="button" onclick="hidetext()" value="隐藏内容" /> 
       <input type="button" onclick="showtext()" value="显示内容" /> 
    </form>
</body> 
</html>

再一个例子:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" Content="text/html; charset=utf-8" />
    <title>javascript</title>
    <style type="text/css">
        body {
            font-size: 12px;
        }

        #txt {
            height: 400px;
            width: 600px;
            border: #333 solid 1px;
            padding: 5px;
        }

        p {
            line-height: 18px;
            text-indent: 2em;
        }
    </style>
</head>
<body>
    <h2 id="con">JavaScript课程</h2>
    <div id="txt">
        <h5>JavaScript为网页添加动态效果并实现与用户交互的功能。</h5>
        <p>1. JavaScript入门篇,让不懂JS的你,快速了解JS。</p>
        <p>2. JavaScript进阶篇,让你掌握JS的基础语法、函数、数组、事件、内置对象、BOM浏览器、DOM操作。</p>
        <p>3. 学完以上两门基础课后,在深入学习JavaScript的变量作用域、事件、对象、运动、cookie、正则表达式、ajax等课程。</p>
    </div>
    <form>
        <!--当点击相应按钮,执行相应操作,为按钮添加相应事件-->
        <input type="button" value="改变颜色" onclick="改变颜色()">
        <input type="button" value="改变宽高" onclick="改变宽高()">
        <input type="button" value="隐藏内容" onclick="隐藏内容()">
        <input type="button" value="显示内容" onclick="显示内容()">
        <input type="button" value="取消设置" onclick="取消设置()">
    </form>
    <script type="text/javascript">
        var 文本 = document.getElementById("txt");
//定义"改变颜色"的函数
        function 改变颜色() {
            文本.style.color = "red";
            文本.style.backgroundColor = "#ccc";
        }

//定义"改变宽高"的函数
        function 改变宽高() {
            文本.style.width = "100px";
            文本.style.height = "100px";
        }

//定义"隐藏内容"的函数
        function 隐藏内容() {
            文本.style.display = "none";
        }

//定义"显示内容"的函数
        function 显示内容() {
            文本.style.display = "block";
        }

//定义"取消设置"的函数
        function 取消设置() {
            var bool = confirm("确定要重新设置?")
            if (bool == true) {
                文本.removeAttribute("style");
            }
        }
    </script>
</body>
</html>

点击对应按钮会出现对应效果

5.控制类名(className 属性)

lassName 属性设置或返回元素的class 属性。

语法:

object.className = classname

作用:

1.获取元素的class 属性

2. 为网页内的某个元素指定一个css样式来更改该元素的外观

看看下面代码,获得 <p> 元素的 class 属性和改变className:

<!DOCTYPE HTML>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>className属性</title>
<style>
    body{ font-size:16px;}
    .one{
		border:1px solid #eee;
		width:230px;
		height:50px;
		background:#ccc;
		color:red;
    }
	.two{
		border:1px solid #ccc;
		width:230px;
		height:50px;
		background:#9CF;
		color:blue;
	}
	</style>
</head>
<body>
    <p id="p1" > JavaScript使网页显示动态效果并实现与用户交互功能。</p>
    <input type="button" value="添加样式" onclick="add()"/>
	<p id="p2" class="one">JavaScript使网页显示动态效果并实现与用户交互功能。</p>
    <input type="button" value="更改外观" onclick="modify()"/>
	<script type="text/javascript">
	   function add(){
	      var p1 = document.getElementById("p1");
	      p1.className="one";
	   }
	   function modify(){
	      var p2 = document.getElementById("p2");
	      p2.className="two";
	   }
	</script>
</body>
</html>

 

© 著作权归作者所有

上一篇: JS基础语法
下一篇: javascript入门练习
路蒙蒙
粉丝 1
博文 22
码字总数 25524
作品 0
私信 提问

暂无文章

凭什么看不起外包员工?外包还值得进吗?

前言 > 最近有好多人讨论外包,前几天看到一个帖子说就是有一个外包吃了公司的的零食,遭到HR当场批评, 搞的整个IT界备受关注,那么外包公司和非外包公司有什么样的不一样呢?我今天也说说我...

终端研发部
34分钟前
2
0
WinSCP得到root权限 ubuntn

WinSCP如果进行sudo? 首先 要在 /etc/sudoer 最后一行加上 你的用户名 ALL=NOPASSWD:ALL 然后到 winscp里的编译一下站点属性 SFTP -> SFTP 服务器 输入 sudo /usr/lib/openssh/sftp-server ...

shzwork
37分钟前
2
0
Centos 7 安装 Docker

参考 https://yq.aliyun.com/articles/110806 1. 卸载旧版的 docker $ sudo yum remove docker \ docker-client \ docker-client-latest \ ......

北漂的我
今天
2
0
GitLab 发布新版本,增强的操作仪表板

昨天,GitLab的团队发布了GitLab 11.10,一个基于Web的DevOps生命周期工具。这个版本提供了新的特性,包括操作仪表板上的管道、合并结果的管道等等。 GitLab 11.10有什么新内容? 增强操作指示...

linuxCool
今天
4
0
spring application 之 ResolvableType

jdk1.5 的泛形 变量类型 <t>,<t,k>,<t extends list & map> 这些都是变量类型 类 class A<t extends b & list,k t>{}TypeVariable[] tvs = A.class.getTypeParameters()tvs 的 name 就是......

my_juke
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部