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 相关文章推荐
Extjs学习笔记之四 工具栏和菜单
Jan 07 Javascript
javascript面向对象之二 命名空间
Feb 08 Javascript
推荐20家国外的脚本下载网站
Apr 28 Javascript
jQuery常见开发技巧详细整理
Jan 02 Javascript
基于jQuery.Hz2Py.js插件实现的汉字转拼音特效
May 07 Javascript
理解js回收机制通俗易懂版
Feb 29 Javascript
三种Node.js写文件的方式
Mar 08 Javascript
15款最好的Bootstrap在线编辑器
Aug 03 Javascript
微信JSAPI支付操作需要注意的细节
Jan 10 Javascript
Bootstrap表单制作代码
Mar 17 Javascript
基于vuejs实现一个todolist项目
Apr 11 Javascript
微信小程序实现录制、试听、上传音频功能(带波形图)
Feb 27 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
带密匙的php加密解密示例分享
2014/01/29 PHP
PHP include任意文件或URL介绍
2014/04/29 PHP
php使用number_format函数截取小数的方法分析
2016/05/27 PHP
CodeIgniter框架钩子机制实现方法【hooks类】
2018/08/21 PHP
Thinkphp 框架扩展之应用模式实现方法分析
2020/04/27 PHP
PHP程序员简单的开展服务治理架构操作详解(一)
2020/05/14 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
跨浏览器开发经验总结(三)   警惕“IE依赖综合症”
2010/05/13 Javascript
动态调用CSS文件的JS代码
2010/07/29 Javascript
JavaScript与Image加载事件(onload)、加载状态(complete)
2011/02/14 Javascript
Chrome Form多次提交表单问题的解决方法
2011/05/09 Javascript
dwz 如何去掉ajaxloading具体代码
2013/05/22 Javascript
jQuery实现在最后一个元素之前插入新元素的方法
2015/07/18 Javascript
js实现仿qq消息的弹出窗效果
2016/01/06 Javascript
javascript回到顶部特效
2016/07/30 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
快速搭建vue2.0+boostrap项目的方法
2018/04/09 Javascript
Node.js Event Loop各阶段讲解
2019/03/08 Javascript
微信小程序如何访问公众号文章
2019/07/08 Javascript
JS中的算法与数据结构之队列(Queue)实例详解
2019/08/20 Javascript
vue点击按钮动态创建与删除组件功能
2019/12/29 Javascript
解决vue项目axios每次请求session不一致的问题
2020/10/24 Javascript
Python字典操作详细介绍及字典内建方法分享
2018/01/04 Python
对python中的乘法dot和对应分量相乘multiply详解
2018/11/14 Python
Python 输入一个数字判断成绩分数等级的方法
2018/11/15 Python
python实现中文文本分句的例子
2019/07/15 Python
Python中BeautifuSoup库的用法使用详解
2019/11/15 Python
Python运行提示缺少模块问题解决方案
2020/04/02 Python
Python更换pip源方法过程解析
2020/05/19 Python
上海某公司.net方向笔试题
2014/09/14 面试题
申报职称专业技术个人的自我评价
2013/12/12 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
协会周年庆活动方案
2014/08/26 职场文书
社区班子对照检查材料
2014/08/27 职场文书
付款承诺函范文
2015/01/21 职场文书
狂人日记读书笔记
2015/06/30 职场文书