Jquery 实现table样式的设定


Posted in Javascript onJanuary 28, 2015

上一篇我们使用jquery实现checkbox的全选,得到了一些朋友的建议,其中插件的定义我的确不太清楚,也闹了个笑话,有些朋友建议我去看《锋利的Jquery》,说实话正在看了。由于正在学习中,我就想把项目中经常要用的jquery效果自己写成通用方法,可以在大家的帮助下完善这些方法,也可以让不会的了解到一种做法,最后形成自己的Jquery 方法库,方便以后的使用,这些例子都是我自己写的,没有参考,所以有很多地方需要改进。

1:为什么要写这个方法

在项目中,一些table都要设置样式,为了样式的美观,表头是一个样式,奇数行一个样式,偶数行一个样式。当鼠标经过的时候颜色变化,鼠标离开时颜色恢复,这就有了这样方法。

2:实现过程

js文件xs_table_css.js

$(document).ready(function () {

    var xs_table_css = "xs_table"; //获取table的css

    var xs_table_th_css = "xs_table_th"; //table 的th样式

    var xs_table_even_css = "xs_table_even"; //table的偶数行css

    var xs_table_odd_css = "xs_table_odd"; //table的奇数行css

    var xs_table_select_css = "xs_table_select"; //table选择行的样式

    var xs_table = "table." + xs_table_css;

    $(xs_table).each(function () {

        $(this).children().children().has("th").addClass(xs_table_th_css); //表头

        var tr_even = $(this).children().children(":even").has("td"); //数据偶数行

        var tr_odd = $(this).children().children(":odd").has("td"); //数据奇数行

        tr_even.addClass(xs_table_even_css);

        tr_odd.addClass(xs_table_odd_css);

        tr_even.mouseover(function () {

            $(this).removeClass(xs_table_even_css);

            $(this).addClass(xs_table_select_css);

        });

        tr_even.mouseout(function () {

            $(this).removeClass(xs_table_select_css);

            $(this).addClass(xs_table_even_css);

        });

        tr_odd.mouseover(function () {

            $(this).removeClass(xs_table_odd_css);

            $(this).addClass(xs_table_select_css);

        });

        tr_odd.mouseout(function () {

            $(this).removeClass(xs_table_select_css);

            $(this).addClass(xs_table_odd_css);

        });

    });

});

样式文件xs_table.css

.xs_table

{

}

.xs_table_th

{

    height: 50px;

    background-color: #C0C0C0;

}

.xs_table_even

{

    height: 50px;

    background-color: #F0F0F0;

}
.xs_table_odd

{

    height: 50px;

    background-color: #FFFFFF;

}

.xs_table_select

{

    height: 50px;

    background-color: #D9D9D9;

}

页面文件xs_table_css.htm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

<head>

    <title></title>

    <link href="xs_table.css" rel="stylesheet" type="text/css" />

    <script src="http://ajax.aspnetcdn.com/ajax/jQuery/jquery-1.8.0.js" type="text/javascript">

    </script>

    <script src="xs_table_css.js" type="text/javascript"></script>

</head>

<body>

<table class="xs_table" width="800px">

<tbody >

<tr><th>headone</th><th>headTwo</th></tr>

<tr><td>第一行</td><td>111111111</td></tr>

<tr><td>第二行</td><td>222222222</td></tr>

<tr><td>第三行</td><td>333333333</td></tr>

<tr><td>第四行</td><td>444444444</td></tr>

</tbody>

</table>

<br />

<br />

<table class="xs_table" width="800px">

<tr><th>headone</th><th>headTwo</th></tr>

<tr><td>第一行</td><td>111111111</td></tr>

<tr><td>第二行</td><td>222222222</td></tr>

<tr><td>第三行</td><td>333333333</td></tr>

<tr><td>第四行</td><td>444444444</td></tr>

</table>

</body>

</html>

3:方法说明

  (1)mouseover和mouseout要先移除上次的css,不然会出现样式叠加

  (2)找tr时注意tbody,虽然页面上没有tbody标签,但是默认会有这个子元素

  (3)奇偶行要去除th,只找td的

Javascript 相关文章推荐
ie focus bug 解决方法
Sep 03 Javascript
基于jquery的blockui插件显示弹出层
Apr 14 Javascript
JS限制Textarea文本域字符个数的具体实现
Aug 02 Javascript
Javascript中浮点数相乘的一个解决方法
Jun 03 Javascript
js实现将选中内容分享到新浪或腾讯微博
Dec 16 Javascript
Move.js入门
Feb 08 Javascript
node.js多个异步过程中判断执行是否完成的解决方案
Dec 10 Javascript
Node.js事件的正确使用方法
Apr 05 Javascript
小程序开发踩坑:页面窗口定位(相对于浏览器定位)(推荐)
Apr 25 Javascript
微信小程序自定义头部导航栏和导航栏背景图片 navigationStyle问题
Jul 26 Javascript
js闭包和垃圾回收机制示例详解
Mar 01 Javascript
vue route新窗口跳转页面并且携带与接收参数
Apr 10 Vue.js
Jquery 实现checkbox全选方法
Jan 28 #Javascript
AngularJS实现表单验证
Jan 28 #Javascript
jQuery制作简单柱状图实例
Jan 28 #Javascript
js分页工具实例
Jan 28 #Javascript
js制作简易年历完整实例
Jan 28 #Javascript
Angularjs编写KindEditor,UEidtor,jQuery指令
Jan 28 #Javascript
调试JavaScript中正则表达式中遇到的问题
Jan 27 #Javascript
You might like
PHP脚本的10个技巧(3)
2006/10/09 PHP
火车头discuz6.1 完美采集的php接口文件
2009/09/13 PHP
javascript 中对象的继承〔转贴〕
2007/01/22 Javascript
ajax无刷新动态调用股票信息(改良版)
2008/11/01 Javascript
真正的JQuery.ajax传递中文参数的解决方法
2011/05/28 Javascript
解决JQeury显示内容没有边距内容紧挨着浏览器边线
2013/12/20 Javascript
jquery提交form表单简单示例分享
2014/03/03 Javascript
jQuery入门基础知识学习指南
2015/08/14 Javascript
浅析JS动态创建元素【两种方法】
2016/04/20 Javascript
字符串反转_JavaScript
2016/04/28 Javascript
有关jQuery中parent()和siblings()的小问题
2016/06/01 Javascript
AngularJS基础 ng-selected 指令简单示例
2016/08/03 Javascript
修改jquery中dialog的title属性方法(推荐)
2016/08/26 Javascript
在js中实现邮箱格式的验证方法(推荐)
2016/10/24 Javascript
javascript实现获取指定精度的上传文件的大小简单实例
2016/10/25 Javascript
深入理解jquery中的each用法
2016/12/14 Javascript
JS实现隔行换色的表格排序
2017/03/27 Javascript
详解ES6 Symbol 的用途
2018/10/14 Javascript
js实现下拉框二级联动
2018/12/04 Javascript
JavaScript Canvas编写炫彩的网页时钟
2019/10/16 Javascript
Vue-CLI 3 scp2自动部署项目至服务器的方法
2020/07/24 Javascript
Python使用MD5加密字符串示例
2014/08/22 Python
Python实现短网址ShortUrl的Hash运算实例讲解
2015/08/10 Python
由Python编写的MySQL管理工具代码实例
2019/04/09 Python
Python中print和return的作用及区别解析
2019/05/05 Python
基于Python实现大文件分割和命名脚本过程解析
2019/09/29 Python
4行Python代码生成图像验证码(2种)
2020/04/07 Python
解决Jupyter Notebook使用parser.parse_args出现错误问题
2020/04/20 Python
高中毕业自我鉴定
2013/12/13 职场文书
《骑牛比赛》教后反思
2014/04/22 职场文书
求职信怎么写
2014/05/23 职场文书
2014国庆节幼儿园亲子活动方案
2014/09/16 职场文书
不尊敬老师的检讨书
2014/12/21 职场文书
又涨知识了,自律到底多重要?
2019/06/27 职场文书
什么是创业计划书?什么是商业计划书?这里一一解答
2019/07/12 职场文书
警用民用对讲机找不同
2022/02/18 无线电