Java全栈学习:JavaScript---DOM编程

一.DOM编程与BOM编程

在这里插入图片描述
简介
DOM:Document Object Model(文档对象模型,对网页中的文档对象进行增删改查),HTML文档被当做一颗DOM树来看待。
BOM:Browser Object Model(浏览器对象模型,打开新的浏览器窗口,前进,后退,浏览器上的地址栏等)

联系与区别
DOM的顶级对象是document
BOM的顶级对象是window
BOM包含DOM

二.DOM

在这里插入图片描述
通过DOM,可以做下面的事情:

  • JavaScript 能够改变页面中的所有 HTML 元素
  • JavaScript 能够改变页面中的所有 HTML 属性
  • JavaScript 能够改变页面中的所有 CSS 样式
  • JavaScript 能够对页面中的所有事件做出反应

查找HTML:

  • 通过 id 找到 HTML 元素(getElementById)
  • 通过标签名找到 HTML 元素(getElementsByTagName)
  • 通过类名找到 HTML 元素(getElementsByClassName)

三.DOM HTML

改变HTML内容


方法一:`document.getElementById(id).innerHTML=新的 HTML`
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type = "text/css">
        #div1{
            background-color:bisque;
            width:500px;
            height:500px;
        }
    </style>
</head>
<body>
    <script type = "text/javascript">
        window.onload = function(){
            var divElt = document.getElementById("button1");
            divElt.onclick = function(){
                document.getElementById("div1").innerHTML = "<font color = 'blue'>Hello World</font>";
            }
        }
    </script>
    <input type = "button" id = "button1" value = "点击我"/><br/><br/>
    <div id = "div1"></div>
</body>
</html>

在这里插入图片描述

点击后变成了

在这里插入图片描述


方法二:document.getElementById(id).innerText=新的内容

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type = "text/css">
        #div1{
            background-color:bisque;
            width:150px;
            height:150px;
        }
    </style>
</head>
<body>
    <script type = "text/javascript">
        window.onload = function(){
            var divElt = document.getElementById("button1");
            divElt.onclick = function(){
                //document.getElementById("div1").innerHTML = "<font color = 'blue'>Hello World</font>";
                document.getElementById("div1").innerText = "<font color = 'blue'>Hello World</font>";
            }
        }
    </script>
    <input type = "button" id = "button1" value = "点击我"/><br/><br/>
    <div id = "div1"></div>
</body>
</html>

在这里插入图片描述

可以看到两种方法都可以改变网页内容,但是innerText只能完全按照文本格式显示,不会解析HTML代码。但是innerHTML会解析HTML代码。


改变HTML属性

语法:document.getElementById(id).attribute=新属性值

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type = "text/css">
        #div1{
            background-color:bisque;
            width:500px;
            height:500px;
        }
    </style>
</head>
<body>
    <script type = "text/javascript">
        window.onload = function(){
            var divElt = document.getElementById("button1");
            divElt.onclick = function(){
                document.getElementById("div1").value = "aaaaaaaaaaa";
            }
        }
    </script>
    <input type = "button" value = "设置文本框" id = "button1"/>
    <br/><br/>
    <input type = "button" id = "div1">
</body>
</html>

在这里插入图片描述

在这里插入图片描述
可以看到属性值value改变了。


四.DOM CSS

语法:

document.getElementById(id).style.property=新样式
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <style type = "text/css">
        #div1{
            background-color:bisque;
            width:150px;
            height:150px;
        }
    </style>
</head>
<body>
    <script type = "text/javascript">
        window.onload = function(){
            var divElt = document.getElementById("button1");
            divElt.onclick = function(){
                document.getElementById("div1").value = "aaaaaaaaaaa";
            }
            var divElt2 = document.getElementById("button2");
            divElt2.onclick = function(){
                document.getElementById("div1").style.backgroundColor = "blue";
            }
        }
    </script>
    <input type = "button" value = "设置文本框" id = "button1"/>
    <input type = "button" value = "设置颜色" id = "button2">
    <br/><br/>
    <input type = "button" id = "div1">
</body>
</html>

我们在之前的例子中加入一个按钮,通过点击按钮可以改变样式

在这里插入图片描述
点击过后,颜色变成如下的样式
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
项目:使用AngularJs编写的简单 益智游戏(附源代码)  这是一个简单的 javascript 项目。这是一个拼图游戏,也包含一个填字游戏。这个游戏玩起来很棒。有两个不同的版本可以玩这个游戏。你也可以玩填字游戏。 关于游戏 这款游戏的玩法很简单。如上所述,它包含拼图和填字游戏。您可以通过移动图像来玩滑动拼图。您还可以选择要在滑动面板中拥有的列数和网格数。 另一个是填字游戏。在这里你只需要找到浏览器左侧提到的那些单词。 要运行此游戏,您需要在系统上安装浏览器。下载并在代码编辑器中打开此项目。然后有一个 index.html 文件可供您修改。在命令提示符中运行该文件,或者您可以直接运行索引文件。使用 Google Chrome 或 FireFox 可获得更好的用户体验。此外,这是一款多人游戏,双方玩家都是人类。 这个游戏包含很多 JavaScript 验证。这个游戏很有趣,如果你能用一点 CSS 修改它,那就更好了。 总的来说,这个项目使用了很多 javascript 和 javascript 库。如果你可以添加一些具有不同颜色选项的级别,那么你一定可以利用其库来提高你的 javascript 技能。 演示: 该项目为国外大神项目,可以作为毕业设计的项目,也可以作为大作业项目,不用担心代码重复,设计重复等,如果需要对项目进行修改,需要具备一定基础知识。 注意:如果装有360等杀毒软件,可能会出现误报的情况,源码本身并无病毒,使用源码时可以关闭360,或者添加信任。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值