显示隐藏表单文本内容
<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中的降维算法PCA和SVD(七) 附录

  2. 机器学习实战基础(十七):sklearn中的数据预处理和特征工程(十)特征选择 之 Embedded嵌入法

    Embedded嵌入法 嵌入法是一种让算法自己决定使用哪些特征的方法,即特征选择和算法训练同时进行.在使用嵌入法时,我们先使用某些机器学习的算法和模型进行训练,得到各个特征的权值系数,根据权值系数从大 ...

  3. 02-flask项目创建及debug模式的开启

    一.flask文件的创建 打开pycharm,选择flask文件,选择相关配置,需要配置的有虚拟环境,flask文件名.如下图所示: 新建的flask文件如下所示: static:用来存放静态文件,包 ...

  4. SpringDI四种依赖注入方式详解

    文章已托管到GitHub,大家可以去GitHub查看阅读,欢迎老板们前来Star!搜索关注微信公众号 [码出Offer] 领取各种学习资料! LOGO SpringDI(依赖注入) 一.DI概述 De ...

  5. java 将整型数组转化为字符串

    java arrays 和arrayList 的区别 package com.vc; import java.util.Arrays; public class Demo05 { public sta ...

  6. 大一寒假我在一个oj网站只刷了这些题从此入门了绝大部分通用算法

    如果你想入门算法,那么我这篇文章也许可以帮到你. 先说点题外话.这是在一个不冷不热的寒假,照理来说寒假应该很冷,但这个寒假是真的舒服.这样舒服的寒假学习似乎是一件不可能的事情,所以我继续我的游戏生涯, ...

  7. 自定义placeholder样式

    ::-webkit-input-placeholder { /* WebKit, Blink, Edge */ color: #909; } :-moz-placeholder { /* Mozill ...

  8. Logback配置文件这么写,还愁不会整理日志?

    摘要: 1.日志输出到文件并根据LEVEL级别将日志分类保存到不同文件 2.通过异步输出日志减少磁盘IO提高性能 3.异步输出日志的原理 1.配置文件logback-spring.xml Spring ...

  9. jmeter混合场景的多种实现方式比较

    性能测试设计混合场景,一般有几种方式,分别是每个场景设置一个线程组,使用if控制器,使用吞吐量控制器.不同的方式实现机制不一样,哪种方式相比而言更好呢?下面做一比较. 下面以混合访问百度首页和必应首页 ...

  10. float对内联元素和块元素的影响

    写在前面:附一篇w3s的关于css float的讲解:http://www.w3school.com.cn/css/css_positioning_floating.asp float属性还没有彻底了 ...