显示隐藏表单文本内容
<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获取修改元素样式

 <div class="first" id="conter">文本</div>
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操作案例的更多相关文章

  1. JS DOM操作(创建、遍历、获取、操作、删除节点)

    创建节点 <!DOCTYPE html> <html lang="zh-CN"> <head> <meta charset="u ...

  2. js dom 操作

    JS的DOM操作   1DOM是文档对象模型,这种模型为树模型:文档是指标签文档,对象是指文档中每个元素:模型是指抽象化的东西. 2间隔与延迟间隔执行一段代码(函数):window.setInterv ...

  3. JS—DOM操作

    节点分为三类: 1.元素节点:标签<div></div> 2.文本节点:标签内的纯文本. 3.属性节点:标签内的属性,id或class 查找元素: getElementById ...

  4. js——DOM操作(一)

    DOM:Document Object Model  文档对象模型 文档:html页面 文档对象:页面中元素 文档对象模型:定义  为了能够让程序(js)去操作页面中的元素 DOM会把文档看作是一棵树 ...

  5. JS DOM操作 函数 事件 阻止事件冒泡

    一 函数 1.字符串函数 s.tolowerCase( ):    -- 变小写 s.toupperCase( ):   -- 变大写 s.substr( 2 , 8 ):     -- 截取     ...

  6. JS DOM操作(五) Window.docunment对象——操作元素

    定位: var a = document.getElementByIt( "id" ) 同辈元素 var b = a.nextSibling;            -- 找 a ...

  7. JS DOM操作(二) Window.docunment对象——操作样式

    一 对元素的定位 在 js 中可以利用 id.class.name.标签名进行元素的定位 id.class  用在客户端 name  用在服务端 用 id 定位                  -- ...

  8. JS DOM操作(一) 对页面的操作

    DOM ——文档对象模型(Document Object Model)是表示和处理一个HTML或XML文档的常用方法. 在网页上,组织页面(或文档)的对象被组织在一个树形结构中,用来表示文档中对象的标 ...

  9. js dom 操作技巧

    1.创建元素 创建元素:document.createElement() 使用document.createElement()可以创建新元素.这个方法只接受一个参数,即要创建元素的标签名.这个标签名在 ...

随机推荐

  1. 机器学习实战基础(十八):sklearn中的数据预处理和特征工程(十一)特征选择 之 Wrapper包装法

    Wrapper包装法 包装法也是一个特征选择和算法训练同时进行的方法,与嵌入法十分相似,它也是依赖于算法自身的选择,比如coef_属性或feature_importances_属性来完成特征选择.但不 ...

  2. Django框架10 /sweetalert插件、django事务和锁、中间件、django请求生命周期

    Django框架10 /sweetalert插件.django事务和锁.中间件.django请求生命周期 目录 Django框架10 /sweetalert插件.django事务和锁.中间件.djan ...

  3. redis入门指南(三)—— 事务、过期时间、SORT命令、消息通知与管道

    写在前面 学习<redis入门指南>笔记,结合实践,只记录重要,明确,属于新知的相关内容. 事务 1.redis中的事务由一组命令的集合组成,要么都执行,要么都不执行,同时redis的事务 ...

  4. 关于Haskell计算斐波那契数列的思考

    背景 众所周知,Haskell语言是一门函数式编程语言.函数式编程语言的一大特点就是数值和对象都是不可变的,而这与经常需要对状态目前的值进行修改的动态规划算法似乎有些"格格不入", ...

  5. bzoj3062[Usaco2013 Feb]Taxi*

    bzoj3062[Usaco2013 Feb]Taxi 题意: Bessie在农场上为其他奶牛提供出租车服务,她必须赶到这些奶牛的起始位置,并把他们带到它们的目的地.Bessie的车很小,所以她只能一 ...

  6. .NET Core微服务开发服务间调用篇-GRPC

    在单体应用中,相互调用都是在一个进程内部调用,也就是说调用发生在本机内部,因此也被叫做本地方法调用:在微服务中,服务之间调用就变得比较复杂,需要跨网络调用,他们之间的调用相对于与本地方法调用,可称为远 ...

  7. Ethical Hacking - NETWORK PENETRATION TESTING(11)

    Securing your Network From the Above Attacks. Now that we know how to test the security of all known ...

  8. Android 性能优化 ---- 内存优化

    1.Android内存管理机制 1.1 Java内存分配模型 先上一张JVM将内存划分区域的图 程序计数器:存储当前线程执行目标方法执行到第几行. 栈内存:Java栈中存放的是一个个栈帧,每个栈帧对应 ...

  9. Python数据分析之全球人口数据

    这篇文章用pandas对全球的人口数据做个简单分析.我收集全球各国1960-2019年人口数据,包含男女和不同年龄段,共6个文件. pop_total.csv: 各国每年总人口 pop_female. ...

  10. DJANGO-天天生鲜项目从0到1-005-FastDFS与Nginx打造自定义文件存储系统

    本项目基于B站UP主‘神奇的老黄’的教学视频‘天天生鲜Django项目’,视频讲的非常好,推荐新手观看学习 https://www.bilibili.com/video/BV1vt41147K8?p= ...