<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style type="text/css">
body,ul{margin: 0;padding: 0;}
ul{
width:500px;
margin:100px auto ;
padding: 10px;
border: solid 1px #E3E3E3;
list-style:none;
line-height: 2;
} li{
padding: 8px 10px;
border-radius: 8px;
} /* li:nth-child(odd){
background: #E7E7E7;
} li:nth-child(even){
background: #EEE8AA;
} li:hover{
background: red;
color: white;
}*/ .bg1{
background: #E3E3E3;
} .bg2{
background: #EEE8AA;
} .bg3{
color: white;
background: red;
}
</style>
</head>
<body>
<ul class="news">
<li>疑似作弊者对手:没手机他像换个人 下得又慢又差</li>
<li>九冠王队重庆新姿态战围甲 古力:希望不拖队友后腿</li>
<li>拜仁全队赛前誓师!封死C罗 干掉皇马进决赛!</li>
<li>在本赛季欧洲金靴的竞争中,梅西还没有坐稳优势…</li>
<li>疑似作弊者对手:没手机他像换个人 下得又慢又差</li>
<li>九冠王队重庆新姿态战围甲 古力:希望不拖队友后腿</li>
<li>拜仁全队赛前誓师!封死C罗 干掉皇马进决赛!</li>
<li>在本赛季欧洲金靴的竞争中,梅西还没有坐稳优势…</li>
<li>疑似作弊者对手:没手机他像换个人 下得又慢又差</li>
<li>九冠王队重庆新姿态战围甲 古力:希望不拖队友后腿</li>
<li>拜仁全队赛前誓师!封死C罗 干掉皇马进决赛!</li>
<li>在本赛季欧洲金靴的竞争中,梅西还没有坐稳优势…</li>
</ul>
</body>
<script type="text/javascript">
//通过类名得到的是一个类数组,数据类型是object;它也有自己对应的索引值,索引从0开始
var news = document.getElementsByClassName('news')[0];
//给news元素创建了一个属性mAtt并赋值mValue
//1.setAttribute("属性名","属性值") 设置属性 getAttribute("属性名")
// news.setAttribute("mAtt","mValue");
// console.log(news.getAttribute("mAtt")); //2. html自定义属性 标签元素.属性 = "属性值";
// news.att = "value";
// console.log(news.att) //通过标签名来获取标签元素,得到类数组
var lis = news.getElementsByTagName('li');
console.log(typeof lis); //遍历lis
for (var i = 0; i < lis.length; i++) {
if(i % 2 == 1){
lis[i].className = "bg1";
//自定义一个属性来暂时存储当前className的值
// lis[i].oldClassName = "bg1";
}else{
lis[i].className = "bg2";
// lis[i].oldClassName = "bg2";
} //鼠标事件
//onmouseover
lis[i].onmouseover = function(){
//当鼠标滑过,改变className之前,将原来的className暂时存储起来
this.oldClassName = this.className;
//lis[i].className = "bg3";//循环内部设置事件函数,事件函数再循环执行完毕之后才会执行;
this.className = "bg3";
} //鼠标离开事件onmouseout
lis[i].onmouseout = function(){
//怎么样才能回到原来的样式呢
//涉及到html里面怎么去添加一个自定义属性
this.className = this.oldClassName;
}
} </script>
</html>

js实现隔行变色的更多相关文章

  1. 使用webpack打包js文件(隔行变色案例)

    使用webpack打包js文件(隔行变色案例) 1.webpack安装的两种方式 运行npm i webpack -g全局安装webpack,这样就能在全局使用webpack的命令 在项目根目录中运行 ...

  2. JS实现隔行变色,鼠标移入高亮

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 31.0px Consolas; color: #2b7ec3 } p.p2 { margin: 0.0px ...

  3. js实现隔行变色-------Day40

    版权声明:本文为博主原创文章.未经博主同意不得转载. https://blog.csdn.net/marSmile_tbo/article/details/31837367 就这样開始了自己的第二个项 ...

  4. 简单的css js控制table隔行变色

    (1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...

  5. [js插件开发教程]一步步开发一个可以定制配置的隔行变色小插件

    隔行变色功能,不用js,直接用css伪类就可以做,这个实例可以作为js插件开发很好的入门级实例.本文实现的隔行变色包括以下功能: 1,支持2种常用结构共存( div元素 和 表格类型 ) 2,一个页面 ...

  6. 隔行变色---简单的css js控制table隔行变色

    (1)用expression 鼠标滑过变色: <style type="text/css"><!-- table { background-color:#0000 ...

  7. HTML系列:js和css多种方式实现隔行变色

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  8. JS实现表格隔行变色

    用到的鼠标事件:(1)鼠标经过 onmouseover:(2)鼠标离开 onmouseout 核心思路:鼠标经过 tr 行的时候,当前行会改变背景颜色,鼠标离开的时候去掉背景颜色. 注意:第一行(th ...

  9. 表格的一些原生js操作(隔行变色,高亮显示,添加删除,搜索)

    看着网上的视频教程,虽说还是有点简单,但还是不免想记录下.这些操作包括(隔行变色,高亮显示,添加删除,搜索功能),而这儿就是涉及table的原有属性“tBodies” “rows” “cells”等几 ...

随机推荐

  1. 【HNOI2015】菜肴制作 - 拓扑排序+贪心

    题目描述 知名美食家小 A被邀请至ATM 大酒店,为其品评菜肴. ATM 酒店为小 A 准备了 N 道菜肴,酒店按照为菜肴预估的质量从高到低给予1到N的顺序编号,预估质量最高的菜肴编号为1. 由于菜肴 ...

  2. 如何在 asp.net core 的中间件中返回具体的页面

    前言 在 asp.net core 中,存在着中间件这一概念,在中间件中,我们可以比过滤器更早的介入到 http 请求管道,从而实现对每一次的 http 请求.响应做切面处理,从而实现一些特殊的功能 ...

  3. 初 识 eric4

    下图展示了,如何使用eric4  新建工程,创建窗体,编译工程,运行工程这几个过程

  4. Android Studio 代码回退

    1.VCS–Local History–Show History 或者 这个按钮 2.代码操作记录出现了,选定我们操作的一个历史阶段 3.点击左上角的按钮(revert),代码回退成功

  5. 开发过程中遇到的-npm加载进node_modules里的文件怎么修改

    来源:https://juejin.im/post/5ec381215188256d776342cd https://mp.weixin.qq.com/s?__biz=MzUzNjk5MTE1OQ== ...

  6. mongodb在win10下的安装和配置

    一.准备 下载mongodb https://www.mongodb.com/download-center/community 该实例中使用的是:mongodb-win32-x86_64-2008p ...

  7. Docker商业版受限,胖容器是个选择

    前情概要 8月13日,Docker 公司更新了网站服务协议,条款申明,禁止禁运国家和被列入「美国实体清单」的组织和个人使用带有该服务协议链接的 Docker 网站和所有相关网站.这一更新协议迅速引起了 ...

  8. 解决 supervisor : 无法加载文件 C:\Users\charles\AppData\Roaming\npm\supervisor.ps1

    在使用vsCode中运行cnpm install时报错. 解决方法 1.在win10 系统中搜索框 输入 Windows PowerShell,选择 管理员身份运行 2.使用,win+R打开了powe ...

  9. centos 安装vimplus

    参考链接:https://www.jianshu.com/p/75cde8a80fd7 git clone https://github.com/chxuan/vimplus.git ~/.vimpl ...

  10. install -M

    [root@controller ~]# source admin-openrc [root@controller ~]# neutron ext-list +-------------------- ...