Javascript知识【案例:表格隔行换色】

简介: Javascript知识【案例:表格隔行换色】

1,案例1:表格隔行换色



要达到以上效果,仅需要将第二行,第四行tr标签获取到,更改其样式属性即可


分析:


关键点:


获取到指定的tr  (遍历时跳过0索引,让偶数索引的元素进行变色)

document.getElementsByTagName("tr");




   2.修改tr对象 className


元素对象.className="blue";


步骤:


页面加载完成时,编写要进行的操作

隔行换色操作

//1、获取所有的tr


//2、遍历tr数组,跳过0索引,只需要偶数索引,让偶数索引改变className


代码实现:


<script>

  //一、页面加载完成时,编写要进行的操作

  window.onload = function (ev) {

     //二、隔行换色操作

     //1、获取所有的tr

     var trArr = document.getElementsByTagName("tr");

     //2、遍历tr数组,跳过0索引,只需要偶数索引,让偶数索引改变className

     for (var i = 1; i <trArr.length ; i++) {

        if(i%2==0){

           trArr[i].className= "blue";

        }

     }

  }


</script>


1,获取到指定的tr(遍历时跳过0索引,让偶数索引的元素进行变色)


document.getElementsByTagName("tr")




2,修改tr对象className   元素对象.className="blue"


2,案例2:鼠标移入粉色,移出原色【基础+】

2.1:需求说明





分析:


关键点:


鼠标移入、移出事件

onmouseover


onmouseout


自定义数据保存

2.2:前置知识:鼠标移入移出事件

目标:掌握鼠标移入、移出事件基本绑定方式


 掌握事件DOM绑定方式


路径:


鼠标移入、移出事件

DOM方式绑定事件

讲解:


<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <script>

       /*

           onmouseover  移入

           onmouseout   移出

        */

       function run1() {

           var d1 = document.getElementById("d1");

           d1.style = "width:100px;height: 100px;background-color: blue;";

       }

       function run2() {

           var d1 = document.getElementById("d1");

           d1.style = "width:100px;height: 100px;background-color: pink;";

       }

   </script>

</head>

<body>

<!--

   移入:蓝色

   移出:改回粉色

   -->

   <div id="d1" style="width:100px;height: 100px;background-color: pink;" onmouseover="run1()" onmouseout="run2()"></div>

</body>

</html>


小结:


onmouseover:鼠标移入再触发事件


onmouseout:鼠标移出再触发事件


DOM绑定方式:


<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <script>


       //需求:在页面加载完成时,为d1元素绑定鼠标移入移出事件

       window.onload = function (ev) {

           var d1 = document.getElementById("d1");

           /*d1.onmouseover = function (ev1) {

               run1();

           };*/

           d1.onmouseover = run1;

           d1.onmouseout = run2;

       }


       function run1() {

           var d1 = document.getElementById("d1");

           d1.style = "width:100px;height: 100px;background-color: blue;";

       }

       function run2() {

           var d1 = document.getElementById("d1");

           d1.style = "width:100px;height: 100px;background-color: pink;";

       }

   </script>

</head>

<body>

<!--

   移入:蓝色

   移出:改回粉色

   -->

   <div id="d1" style="width:100px;height: 100px;background-color: pink;"></div>

</body>

</html>


小结:


DOM绑定方式,不修改HTML前提下,对HTML元素进行页面加载完成时,进行事件绑定。


绑定格式:


 元素.事件 = function(){};

 元素.事件 = 方法名;

2.3:前置拓展知识:this关键字

目标:1、掌握this关键字用法


 2、掌握this关键字存储自定义数据


路径:


this关键字常见使用

this关键字在事件中的应用

this关键字如何存储自定义数据

讲解:


this关键字常见使用


this当前对象。




this关键字在事件中的应用:




this关键字如何存储自定义数据


对象["key"]="value";


this["key"]="value";


<!DOCTYPE html>

<html lang="en">

<head>

   <meta charset="UTF-8">

   <title>Title</title>

   <script>

       window.onload = function (ev) {

           var t1 = document.getElementById("t1");

           t1["username"] = "金雪";


           t1.onclick = function (ev1) {

               alert(this["username"]);

           };

       }

   </script>

</head>

<body>

   <!--

       点击input框,展示自定义属性数据(页面加载完成时进行保存)

   -->

   <input type="text" value="xxxx" id="t1"/>

</body>

</html>


小结:


写在HTML属性中,可以在DOM绑定的事件中。


this["key"]="value";


2.4:分析&实现

步骤:

1、页面加载完成时,获取所有的tr


2、遍历所有tr,除了0索引。


3、遍历中:索引奇数保存white样式,索引偶数保存blue样式


4、遍历中:每遍历一个tr,绑定鼠标移入和移出事件


5、鼠标移入事件:先保存之前的class值,再赋予新的class值:pink


6、鼠标移出事件:获取原来的class值,赋予class


代码实现:

<style>

  .white{

     background-color: white;

  }

  .blue{

     background-color: lightskyblue;

  }

  .pink{

     background-color: pink;

  }

</style>

<script>

  //1、页面加载完成时,获取所有的tr

  window.onload = function (ev) {

     var trArr = document.getElementsByTagName("tr");

     //2、遍历所有tr,除了0索引。

     for (var i = 1; i <=trArr.length ; i++) {

        var tr = trArr[i];

        //3、遍历中:索引奇数保存white样式,索引偶数保存blue样式

        if(i%2!=0){

           tr.className = "white";

        }else{

           tr.className = "blue";

        }

        //4、遍历中:每遍历一个tr,绑定鼠标移入和移出事件

        //5、鼠标移入事件:先保存之前的class值,再赋予新的class值:pink

        tr.onmouseover = function (ev1) {

           this["temp"] = this.className;

           this.className = "pink";

        };

        //6、鼠标移出事件:获取原来的class值,赋予class

        tr.onmouseout = function (ev1) {

           this.className = this["temp"];

        };

     }

  }

</script>




dom方式绑定事件时,可以进行批量绑定

相关文章
|
9月前
|
数据采集 前端开发 JavaScript
金融数据分析:解析JavaScript渲染的隐藏表格
本文详解了如何使用Python与Selenium结合代理IP技术,从金融网站(如东方财富网)抓取由JavaScript渲染的隐藏表格数据。内容涵盖环境搭建、代理配置、模拟用户行为、数据解析与分析等关键步骤。通过设置Cookie和User-Agent,突破反爬机制;借助Selenium等待页面渲染,精准定位动态数据。同时,提供了常见错误解决方案及延伸练习,帮助读者掌握金融数据采集的核心技能,为投资决策提供支持。注意规避动态加载、代理验证及元素定位等潜在陷阱,确保数据抓取高效稳定。
271 17
|
数据采集 Web App开发 JavaScript
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
利用Selenium和XPath抓取JavaScript动态加载内容的实践案例
|
10月前
|
JavaScript 前端开发 索引
40个JS常用使用技巧案例
大家好,我是V哥。在日常开发中,JS是解决页面交互的利器。V哥总结了40个实用的JS小技巧,涵盖数组操作、对象处理、函数使用等,并附带案例代码和解释。从数组去重到异步函数,这些技巧能显著提升开发效率。先赞再看后评论,腰缠万贯财进门。关注威哥爱编程,全栈开发就你行!
292 16
|
9月前
|
JavaScript 前端开发 Java
深入理解 JavaScript 中的 Array.find() 方法:原理、性能优势与实用案例详解
Array.find() 是 JavaScript 数组方法中一个非常实用和强大的工具。它不仅提供了简洁的查找操作,还具有性能上的独特优势:返回的引用能够直接影响原数组的数据内容,使得数据更新更加高效。通过各种场景的展示,我们可以看到 Array.find() 在更新、条件查找和嵌套结构查找等场景中的广泛应用。 在实际开发中,掌握 Array.find() 的特性和使用技巧,可以让代码更加简洁高效,特别是在需要直接修改原数据内容的情形。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一
|
9月前
|
监控 JavaScript 前端开发
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
MutationObserver 是一个非常强大的 API,提供了一种高效、灵活的方式来监听和响应 DOM 变化。它解决了传统 DOM 事件监听器的诸多局限性,通过异步、批量的方式处理 DOM 变化,大大提高了性能和效率。在实际开发中,合理使用 MutationObserver 可以帮助我们更好地控制 DOM 操作,提高代码的健壮性和可维护性。 只有锻炼思维才能可持续地解决问题,只有思维才是真正值得学习和分享的核心要素。如果这篇博客能给您带来一点帮助,麻烦您点个赞支持一下,还可以收藏起来以备不时之需,有疑问和错误欢迎在评论区指出~
MutationObserver详解+案例——深入理解 JavaScript 中的 MutationObserver:原理与实战案例
|
JavaScript 前端开发 UED
Javaweb之javascript的小案例的详细解析
通过上述步骤,我们得到了一个动态更新的实时时钟,这个简单的JavaScript案例展示了定时器的使用方法,并讲解了如何处理日期和时间。这个案例说明了JavaScript在网页中添加动态内容与交互的能力。对于涉足JavaWeb开发的学习者来说,理解和运用这些基础知识非常重要。
137 11
|
JavaScript 前端开发
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
使用js生成表格标题、表格内容并且每行附带删除按钮然后插入到页面中
150 2
|
前端开发 JavaScript
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
JavaScript动态渲染页面爬取——CSS位置偏移反爬案例分析与爬取实战
197 0
|
前端开发 JavaScript 开发者
fuse.js前端搜索简单使用的三个案例
通过这三个例子可以看出,Fuse.js 是一个功能丰富、易于实现的前端搜索库。它使开发者能够便捷地实现从基础到高级的搜索功能,无论是简单的列表搜索还是实时的搜索建议,都能够高效、精确地提供给用户所需的信息。
649 0
|
JavaScript 前端开发
杨老师课堂之JavaScript案例全选、全不选、及反选
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/kese7952/article/details/79906084      JavaScript案例之全选、全不选、及反选 效果图: 思路:     1.
1113 0

热门文章

最新文章