当前位置: 首页 > news >正文

JavaScript入门篇 第三天(认识DOM)

认识DOM

文档对象模型DOM(Document Object Model)定义访问和处理HTML文档的标准方法。DOM 将HTML文档呈现为带有元素、属性和文本的树结构(节点树)。

先来看看下面代码:

将HTML代码分解为DOM节点层次图:

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

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

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

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

看下面代码:

<a href="http://www.imooc.com">JavaScript DOM</a>

 

通过ID获取元素

学过HTML/CSS样式,都知道,网页由标签将信息组织起来,而标签的id属性值是唯一的,就像是每人有一个身份证号一样,只要通过身份证号就可以找到相对应的人。那么在网页中,我们通过id先找到标签,然后进行操作。

语法:

 document.getElementById(“id”) 

看看下面代码:

结果:null或[object HTMLParagraphElement]

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

 

 

innerHTML 属性

<script type="text/javascript">
  var mychar= document.getElementById("con");
  document.write("原标题:"+mychar.innerHTML+"<br>"); //输出原h2标签内容
  con.innerHTML="New";
  //mychar.innerHTML="Hello world";
  document.write("修改后的标题:"+mychar.innerHTML); //输出修改后h2标签内容
</script>

 

改变 HTML 样式

HTML DOM 允许 JavaScript 改变 HTML 元素的样式。如何改变 HTML 元素的样式呢?

语法:

Object.style.property=new style;

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

基本属性表(property):

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

  <script type="text/javascript">
    var mychar= document.getElementById("con");
    mychar.style.color="red";
    mychar.style.fontSize="15px";
    mychar.style.width="80px";
    mychar.style.backgroundColor="blue";
  </script>

 

显示和隐藏(display属性)

网页中经常会看到显示和隐藏的效果,可通过display属性来设置。

语法:

Object.style.display = value

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

value取值:

看看下面代码:

<!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> 
View Code

 

控制类名(className 属性)

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

语法:

object.className = classname

作用:

1.获取元素的class 属性

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

<!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>
View Code

 

转载于:https://www.cnblogs.com/XDJjy/p/4674718.html

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 观察者模式详解
  • 关于华为云的六大猜想
  • postgresql9.5 物化视图测试
  • UVA 10529 Dumb Bones 可能性dp 需求预期
  • POJ 1679 The Unique MST
  • 批处理文件中获取当前所在路径的几种方法
  • Zxing2.1扫描取景框变形问题解决
  • 最优化理论与方法(袁亚湘 孙文瑜)笔记(二)
  • jawr使用
  • Windows下elasticsearch插入数据报错!
  • 各种demo——CI框架学习
  • [EULAR文摘] 脊柱放射学持续进展是否显著影响关节功能
  • 如何让自己安心学习
  • 经常使用的代码和技巧
  • Java存储区域——JVM札记lt;一个gt;
  • [译]CSS 居中(Center)方法大合集
  • 《用数据讲故事》作者Cole N. Knaflic:消除一切无效的图表
  • Angular数据绑定机制
  • JavaScript学习总结——原型
  • python docx文档转html页面
  • python学习笔记 - ThreadLocal
  • SpiderData 2019年2月16日 DApp数据排行榜
  • UEditor初始化失败(实例已存在,但视图未渲染出来,单页化)
  • uni-app项目数字滚动
  • Vue UI框架库开发介绍
  • vue--为什么data属性必须是一个函数
  • 创建一个Struts2项目maven 方式
  • 第2章 网络文档
  • 电商搜索引擎的架构设计和性能优化
  • 飞驰在Mesos的涡轮引擎上
  • 基于阿里云移动推送的移动应用推送模式最佳实践
  • 山寨一个 Promise
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • ​Base64转换成图片,android studio build乱码,找不到okio.ByteString接腾讯人脸识别
  • ​Java基础复习笔记 第16章:网络编程
  • ​埃文科技受邀出席2024 “数据要素×”生态大会​
  • # C++之functional库用法整理
  • #Datawhale AI夏令营第4期#AIGC方向 文生图 Task2
  • #include<初见C语言之指针(5)>
  • #includecmath
  • #在线报价接单​再坚持一下 明天是真的周六.出现货 实单来谈
  • (10)STL算法之搜索(二) 二分查找
  • (1综述)从零开始的嵌入式图像图像处理(PI+QT+OpenCV)实战演练
  • (4) PIVOT 和 UPIVOT 的使用
  • (9)YOLO-Pose:使用对象关键点相似性损失增强多人姿态估计的增强版YOLO
  • (Matlab)基于蝙蝠算法实现电力系统经济调度
  • (react踩过的坑)antd 如何同时获取一个select 的value和 label值
  • (ZT)薛涌:谈贫说富
  • (附源码)springboot 房产中介系统 毕业设计 312341
  • (附源码)ssm户外用品商城 毕业设计 112346
  • (论文阅读26/100)Weakly-supervised learning with convolutional neural networks
  • (亲测成功)在centos7.5上安装kvm,通过VNC远程连接并创建多台ubuntu虚拟机(ubuntu server版本)...
  • (转)德国人的记事本
  • (转)可以带来幸福的一本书
  • .NET Core跨平台微服务学习资源