0
点赞
收藏
分享

微信扫一扫

JavaScript 之——BOM编程

老北京的热干面 2022-03-11 阅读 80

Hello!  大家好,我们又见面啦~接下来让我们学习今天的小知识吧~


一.如何在JS中获取HTML元素?

详细讲解: 

eg:

<1>.首先我们来定义一个按钮和div

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>

<style>

div{
width: 100px;
height: 50px;
background: skyblue;
display: inline-block;
}
</style>
</head>
<body>
<button>更改颜色</button>
<div id="d1" ></div>
</body>
</html>

<2>.然后在body里写一个script标检,然后在script标检中写一个函数

<script>
function f(){
//Element 元素标检
//id选择器
var d= document.getElementById("d1")
d.style.background="yellow";
//还有一种直接使用id(虽然直接使用id会更方便,但是在某些低版本是用不了的,所以使用id选择器比较保险)
// d1.style.background="pink";
}
</script>

<3>.然后再按钮中写一个调用就可以了

<body>
<button onclick="f()">更改颜色</button>
<div id="d1" ></div>
</body>

这是大概的使用的方法:



<body>
<button onclick="f1()">更改颜色</button>
<div id="d2"></div>
<script>

function f1(){
//标检选择器 会拿出多个元素
var ds=document.getElementsByTagName("div");

//Cannot set properties of undefined(setting 'background')
//不能 设置 属性 来自 未定义 (设置 'background' 的时候报的错)
//用foreach
for(let i of ds){
//i就是每一个元素
i.style.background="purple";
}
}
</script>
</body>

<1>.首先在body里面定义一个div,给它定义一个class名

       <div id="d1" class="a"></div>
<div id="d2" class="a"></div>

<2>.然后在script标检中写一个函数

function f2(){
//类选择器
//在选择器中,因为class是关键字,所以一般class就叫做 ClassName
var s=document.getElementsByClassName("a")
for( var i of s){
i.style.background="red";
}
}

<3>.最后定义一个按钮调用那个函数

<button onclick="f2()">更改颜色</button>

 二.HTML元素上的常用事件

 

HTML元素上的常用事件
onclick点击事件
ondblclick双击事件
onfocus获得焦点事件
onblur失去焦点事件
onmouseover鼠标移入
onmouseout鼠标移出

1.eg:(获得焦点事件和失去焦点事件)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>上课代码04</title>
</head>
<body>
<!-- <input type="text" onfocus="" onblur=""> -->
<!-- value 只能用在输入框和哪些 只能那具备了value属性的值 -->

<!-- style:标检中的style属性 -->

<!-- 怎么给元素赋值 -->

<!-- 在遍历元素时怎么不报错 -->
<input type="text">
<input type="text">
<input type="text">
<input type="text">
<input type="text">

<button onclick="ff('嘿嘿')">嘿嘿</button>
<button onclick="ff('咳咳')">咳咳</button>


<script>

function ff(a){
//拿到值
var d=document.getElementsByTagName("input");

//遍历元素
for(let i of d){
i.value=a;
}
}

//找到页面中所有的输入框
//给所有的输入框赋值(失去焦点事件,获得焦点事件)
(()=>{ //匿名函数
var d1=document.getElementsByTagName("input");
//只要碰到foreach循环 不能用 var 使用let(定义局部变量)
for(let i of d1){
//给元素的获得焦点事件赋值
i.onfocus=()=>{ i.value="" };

//给元素的失去焦点事件赋值
i.onblur=()=>{ i.value="你吃baba"};
}
})();

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

 

三.HTML元素上的常用属性

HTML元素上的常用属性
textContent标签的文本内容(定义的标签不生效)
innerHTML标签中的html内容(标签会生效)
value元素的值(适用具备value属性的元素)
checked是否被选中(适用于单选框和多选框)
style标签中的style属性(用于设置样式)

四.控制元素的显示

display
none不显示(页面不会有空间)
block以块状元素显示
inline以行内元素显示
inline-block以行块显示

大概使用方法:

<script>
function c(){
//如果隐藏,那么显示
if(d5.style.display==="none"){
d5.style.display="block";
}else{//如果显示,那么隐藏
d5.style.display="none";
}
}
</script>

 

    

visibility
visible可见
hidden不可见(会占据页面空间)

opacity
0~1之间的值
用于控制元素的透明度

eg:

function c1(){
//如果透明度为0,那么把它调成1 0为透明 1为不透明
if(d5.style.opacity==0){
d5.style.opacity=1;
}else{//如果显示,那么隐藏
d5.style.opacity=0;
}
}


 五. 案例:(实现表格中的全选按钮功能)

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>案例1</title>
</head>
<body>

<table>
<tr>
<td><input type="checkbox" onclick="n(this.checked)"></td>

</tr>

<tr>
<td><input type="checkbox"></td>

</tr>

<tr>
<td><input type="checkbox"></td>

</tr>

<tr>
<td><input type="checkbox"></td>

</tr>

<tr>
<td><input type="checkbox"></td>

</tr>

<tr>
<td><input type="checkbox"></td>

</tr>

</table>

<script>
//checked 检查当前是否被选中
function n(zt){
//接收当前的状态
var is=document.getElementsByTagName("input");

//拿到所有的多选框
//给多选框的状态:以第一个框为标准
for(let i of is){
//i就是每一个多选框
i.checked=zt;
}
}

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

六.使用js制作图片自动切换效果

<1>.导入三张图片,分别取名叫a0.jpg;  a1.jpg; a2.jpg

<2>.然后看下面代码:

<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<style>
div{
width: 500px;
height: 400px;
background: url(images/a0.jpg) ;

}

</style>
</head>
<body>
<div id="d1"></div>
<img id="m1" src="images/a0.jpg" width="300px">

<button onclick="f1()">点我更新图片</button>

<script>
var b=1;
setInterval(()=>{
d1.style.backgroundImage='url("images/a'+(b%3)+'.jpg")'
b++;
},1000);

function f1(){
m1.src="images/a1.jpg";
}

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

好啦,今天我们的小课堂已经到此为止啦~ 下次会越来越精彩的!对啦,送大家一句话,很现实也很坚定:每条路都很难走,但是一旦选择了,就一定要走下去,加油!家人们,期待你们,也期待我们以后的蜕变!

举报

相关推荐

0 条评论