JS DOM操作案例
显示隐藏表单文本内容
<input type="text" value="手机">
var text = document.querySelector("input")
// 获取焦点
text.onfocus = function () {
if (this.value === '手机') {
this.value = ''
}
}
// 失去焦点
text.onblur = function () {
if (this.value === '') {
this.value = '手机'
}
}
通过element.className获取修改元素样式
var conter = document.getElementById("conter")
conter.onclick = function () {
// 通过修改元素的ClassName更改元素的样式适用于样式多或者繁杂的情况下
this.className = 'change'
// 如果想要保留之前的class
this.className = 'first change'
}
效果图

密码框错误提示
<div class="register">
<input type="password" id="ipt">
<p class="message" id="message">请输入6-12位密码</p>
</div>
var ipt = document.getElementById("ipt")
var message = document.getElementById("message")
ipt.onblur = function () {
// 根据ipt.value长度判断
if (this.value.length < 6 || this.value.length > 12) {
message.className = 'message wrong'
message.innerHTML = '您输入的位数不对要求6~12位'
} else {
message.className = 'message right'
message.innerHTML = '您输入的正确'
}
}
效果图

css代码:
<style>
.box {
background-image: url(../imges/TB1eiXTXlTH8KJjy0FiXXcRsXXa-24-595.png);
background-repeat: no-repeat;
} .change {
font-size: 203px;
} .register {
width: 600px;
margin: 100px auto;
} .message {
display: inline-block;
font-size: 12px;
color: #999;
padding-left: 20px;
} .wrong {
color: red;
} .right {
color: green; }
</style>
百度换肤效果
<ul class="baidu">
<li><img src="../imges/business-pic3.jpg" alt=""></li>
<li><img src="../imges/business-pic4.jpg" alt=""></li>
</ul>
var imgs = document.querySelector(".baidu").querySelectorAll("img")
// 给每个可以换肤的图片循环注册点击事件
for (var i = 0; i < imgs.length; i++) {
imgs[i].onclick = function () {
// 点击图片的路径
// 把这个路径给body就可以了
document.body.style.backgroundImage = 'url(' + this.src + ')'
}
}
效果图

表格
<table>
<thead>
<tr>
<th><input type="checkbox" id="j_cbAll"></th>
<th>2</th>
<th>1</th>
<th>2</th>
<th>1</th>
<th>2</th>
</tr>
</thead>
<tbody id="j_tb">
<tr>
<td><input type="checkbox"></td>
<td>c</td>
<td>c</td>
<td>c</td>
<td>c</td>
<td>c</td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>c</td>
<td>c</td>
<td>c</td>
<td>c</td>
<td>c</td>
</tr>
</tbody>
</table>
表格隔行变色
// 获取的是tbody中的行
var trs = document.querySelector("tbody").querySelectorAll("tr")
for (var i = 0; i < trs.length; i++) {
// 鼠标经过
trs[i].onmousemove = function () {
this.className = 'bg'
}
// 鼠标离开
trs[i].onmouseout = function () {
this.className = ''
}
}
表格全选
var j_cbAll = document.getElementById("j_cbAll")
var ipt = document.getElementById("j_tb").getElementsByTagName("input")
j_cbAll.onclick = function () {
// 得到当前复选框的状态
console.log(this.checked);
for (var i = 0; i < ipt.length; i++) {
ipt[i].checked = this.checked
}
}
// 下面按钮影响上面按钮
for (var j = 0; j < ipt.length; j++) {
ipt[j].onclick = function () {
// flag控制全选按钮是否选中
var flag = true;
// 每次发生点击都要检查是否全选中
for (var a = 0; a < ipt.length; a++) {
if (!ipt[a].checked) {
flag = false;
break; //退出for循环 可以提高效率 只要有一个没有选中剩下的就不需要循环判断了
}
}
j_cbAll.checked = flag
}
}
效果图

css代码:
body {
background-image: url(../imges/erwm.jfif);
background-repeat: no-repeat;
}
.baidu {
width: 200px;
height: 100px;
margin: 0 auto;
list-style: none;
}
.baidu img {
width: 100px;
height: 100px;
float: left;
}
.bg {
background-color: pink;
}
JS DOM操作案例的更多相关文章
- JS DOM操作(创建、遍历、获取、操作、删除节点)
创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="u ...
- js dom 操作
JS的DOM操作 1DOM是文档对象模型,这种模型为树模型:文档是指标签文档,对象是指文档中每个元素:模型是指抽象化的东西. 2间隔与延迟间隔执行一段代码(函数):window.setInterv ...
- JS—DOM操作
节点分为三类: 1.元素节点:标签<div></div> 2.文本节点:标签内的纯文本. 3.属性节点:标签内的属性,id或class 查找元素: getElementById ...
- js——DOM操作(一)
DOM:Document Object Model 文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义 为了能够让程序(js)去操作页面中的元素 DOM会把文档看作是一棵树 ...
- JS DOM操作 函数 事件 阻止事件冒泡
一 函数 1.字符串函数 s.tolowerCase( ): -- 变小写 s.toupperCase( ): -- 变大写 s.substr( 2 , 8 ): -- 截取 ...
- JS DOM操作(五) Window.docunment对象——操作元素
定位: var a = document.getElementByIt( "id" ) 同辈元素 var b = a.nextSibling; -- 找 a ...
- JS DOM操作(二) Window.docunment对象——操作样式
一 对元素的定位 在 js 中可以利用 id.class.name.标签名进行元素的定位 id.class 用在客户端 name 用在服务端 用 id 定位 -- ...
- JS DOM操作(一) 对页面的操作
DOM ——文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标 ...
- js dom 操作技巧
1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...
随机推荐
- iOS应用千万级架构:性能优化与卡顿监控
CPU和GPU 在屏幕成像的过程中,CPU和GPU起着至关重要的作用 CPU(Central Processing Unit,中央处理器) 对象的创建和销毁.对象属性的调整.布局计算.文本的计算和排版 ...
- OSCP Learning Notes - WebApp Exploitation(3)
SQL Injection[SQLi] Refrence: SQL Injection Authentication Bypass Cheat Sheet https://pentestlab.blo ...
- win7下建立docker共享文件夹
前言 建立本机(win7)和VirtualBox中docker虚拟机的共享文件夹,注:下面的命令都是以root身份运行的,使用sudo -i切换到root身份,如无法切换,请自行在命令前加上sudo命 ...
- DirectX11 With Windows SDK--35 粒子系统
前言 在这一章中,我们主要关注的是如何模拟一系列粒子,并控制它们运动.这些粒子的行为都是类似的,但它们也带有一定的随机性.这一堆粒子的几何我们叫它为粒子系统,它可以被用于模拟一些比较现象,如:火焰.雨 ...
- PyQt样式设计
QSS QSS(Qt Style Sheets)即PyQt样式表,是用来定义控件外观的一种机制.QSS内部实现大量参考了CSS,但是功能没有CSS强大,主要体现在选择器少,属性少等. 使用QSS 格式 ...
- 【Floyd算法+贪心】 travel 计蒜客 - 45275
题目: 有 n 个景点,从一个景点 i 旅行到另一个景点 j 要花费 Ai,j=Aj,i(n≤100),现在给出由 m(≤1e5) 个景点的组成序列 A,求:在所有 "有子序列 A 的序列中 ...
- 前缀和线性基HDU6579
Operation 题解:看到区间最大异或和,首先想到的是线性基: 线性基可以处理的操作是: 在数列末尾插入一个数 查询全局的子集异或最大值 由于线性基的长度很短,因此我们可以将数列所有前缀的线性基保 ...
- React Native 中使用Redux
参考https://jspang.com/detailed?id=48和印度同事的代码简单整理一下在RN中使用Redux的步骤 1. 首先我们应该先了解Redux是什么,什么情况下需要用到它 在Red ...
- Python编程无师自通PDF高清完整版免费下载|百度网盘
百度网盘:Python编程无师自通PDF高清完整版免费下载 提取码:cx73 内容介绍 畅销Python编程类入门书,美国亚马逊Kindle编程类排行榜榜一. 作者从文科毕业,通过自学编程转行为专业程 ...
- Centos 7下编译安装Nginx
一.下载源代码 百度云网盘下载地址:https://pan.baidu.com/s/19MQODvofRNnLV9hdAT-R6w 提取码:zi0u 二.安装依赖及插件 yum -y install ...