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 相关文章推荐
javascript实现unicode和字符的互相转换
Jul 18 Javascript
javascript中input中readonly和disabled区别介绍
Oct 23 Javascript
JavaScript实现三阶幻方算法谜题解答
Dec 29 Javascript
javascript中Date format(js日期格式化)方法小结
Dec 17 Javascript
AngularJS中$interval的用法详解
Feb 02 Javascript
整理JavaScript对DOM中各种类型的元素的常用操作
May 05 Javascript
使用bat打开多个cmd窗口执行gulp、node
Feb 17 Javascript
在node.js中怎么屏蔽掉favicon.ico的请求
Mar 01 Javascript
vue.js仿hover效果的实现方法示例
Jan 28 Javascript
JavaScript函数式编程(Functional Programming)高阶函数(Higher order functions)用法分析
May 22 Javascript
vue路由分文件拆分管理详解
Aug 13 Javascript
three.js着色器材质的内置变量示例详解
Aug 16 Javascript
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
基于mysql的bbs设计(一)
2006/10/09 PHP
php入门之连接mysql数据库的一个类
2012/04/21 PHP
WordPress中邮件的一些修改和自定义技巧
2015/12/15 PHP
PHP二维数组去重实例分析
2016/11/18 PHP
Yii框架实现多数据库配置和操作的方法
2017/05/25 PHP
常用js脚本
2006/12/03 Javascript
jquery 模拟雅虎首页的点击对话框效果
2010/04/11 Javascript
JavaScript实现的in_array函数
2014/08/27 Javascript
Underscore.js 1.3.3 中文注释翻译说明
2015/06/25 Javascript
JS实现的在线调色板实例(附demo源码下载)
2016/03/01 Javascript
jquery删除table当前行的实例代码
2016/10/07 Javascript
基于react框架使用的一些细节要点的思考
2017/05/31 Javascript
seajs模块压缩问题与解决方法实例分析
2017/10/10 Javascript
JS和JQuery实现雪花飘落效果
2017/11/30 jQuery
jQuery中将json数据显示到页面表格的方法
2018/05/27 jQuery
判断iOS、Android以及PC端的示例代码
2018/11/15 Javascript
详解Vue一个案例引发「内容分发slot」的最全总结
2018/12/02 Javascript
vue-cli+axios实现文件上传下载功能(下载接收后台返回文件流)
2019/05/10 Javascript
微信小程序如何自定义table组件
2019/06/29 Javascript
vue-cli 项目打包完成后运行文件路径报错问题
2019/07/19 Javascript
layui加载数据显示loading加载完成loading消失的实例代码
2019/09/23 Javascript
浅谈layui数据表格判断问题(加入表单元素),设置单元格样式
2019/10/26 Javascript
[01:14]英雄,所敬略同——2018完美盛典宣传视频
2018/12/05 DOTA
Python字符转换
2008/09/06 Python
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python基于pygame模块播放MP3的方法示例
2017/09/30 Python
Python中Flask-RESTful编写API接口(小白入门)
2019/12/11 Python
python实现处理mysql结果输出方式
2020/04/09 Python
opencv之颜色过滤只留下图片中的红色区域操作
2020/06/05 Python
Clarks英国官方网站:全球领军鞋履品牌
2016/11/26 全球购物
英国最大的婴儿监视器网上商店:Baby Monitors Direct
2018/04/24 全球购物
初中科学教学反思
2014/01/21 职场文书
毕业生找工作求职信
2014/08/05 职场文书
毕业证丢失证明范本
2014/09/20 职场文书
演讲比赛主持词
2015/06/29 职场文书
幼儿园托班开学寄语(2016春季)
2015/12/03 职场文书