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显示选择目录对话框的代码
Nov 10 Javascript
JavaScript 打地鼠游戏代码说明
Oct 12 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
Jan 12 Javascript
jQuery Tools Dateinput使用介绍
Jul 14 Javascript
关于JS字符串函数String.replace()
Apr 07 Javascript
jquery实现滑屏大图定时收缩为小banner图片的广告代码
Sep 02 Javascript
基于jquery实现最简单的选项卡切换效果
May 08 Javascript
详解前端构建工具gulpjs的使用介绍及技巧
Jan 19 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
详解vue 自定义marquee无缝滚动组件
Apr 09 Javascript
微信小程序实现写入读取缓存详解
Aug 30 Javascript
Vue.Draggable实现交换位置
Apr 07 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延迟静态绑定实例分析
2015/02/08 PHP
PHP MSSQL 分页实例
2016/04/13 PHP
thinkPHP3.2简单实现文件上传的方法
2016/05/16 PHP
php获取目录中所有文件名及判断文件与目录的简单方法
2017/03/04 PHP
浅谈php调用python文件
2019/03/29 PHP
laravel接管Dingo-api和默认的错误处理方式
2019/10/25 PHP
PHP 数组操作详解【遍历、指针、函数等】
2020/05/13 PHP
JS实现浏览器菜单命令
2006/09/05 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
js弹出的对话窗口永远保持居中显示
2012/12/15 Javascript
jquery 获取dom固定元素 添加样式的简单实例
2014/02/04 Javascript
JavaScript中的值类型转换介绍
2014/12/31 Javascript
Bootstrap 折叠(Collapse)插件用法实例详解
2016/06/01 Javascript
jQuery图片轮播功能实例代码
2017/01/29 Javascript
angularjs实现多张图片上传并预览功能
2017/02/24 Javascript
详解Vue监听数据变化原理
2017/03/08 Javascript
jquery单击文字或图片内容放大并居中显示
2017/06/23 jQuery
深入解析koa之中间件流程控制
2019/06/17 Javascript
JavaScript设计模式之门面模式原理与实现方法分析
2020/03/09 Javascript
vue中可编辑树状表格的实现代码
2020/10/31 Javascript
JS实现购物车基本功能
2020/11/08 Javascript
[03:46]DOTA2英雄基础教程 维萨吉
2013/12/11 DOTA
python中Pycharm 输出中文或打印中文乱码现象的解决办法
2017/06/16 Python
Python实现的文本对比报告生成工具示例
2018/05/22 Python
python topN 取最大的N个数或最小的N个数方法
2018/06/04 Python
Python直接赋值、浅拷贝与深度拷贝实例分析
2019/06/18 Python
建筑学推荐信
2013/11/03 职场文书
土木工程师岗位职责
2013/11/24 职场文书
安全承诺书
2015/01/19 职场文书
督导岗位职责范本
2015/04/10 职场文书
刑事附带民事诉讼答辩状
2015/05/22 职场文书
国庆阅兵观后感
2015/06/15 职场文书
90条交通安全宣传标语
2019/10/12 职场文书
SpringBoot项目中控制台日志的保存配置操作
2021/06/18 Java/Android
html+css实现环绕倒影加载特效
2021/07/07 HTML / CSS
阿里云服务器Ubuntu 20.04上安装Odoo 15
2022/05/20 Servers