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 相关文章推荐
js对象之JS入门之Array对象操作小结
Jan 09 Javascript
javascript搜索框效果实现方法
May 14 Javascript
jsonp跨域请求数据实现手机号码查询实例分析
Dec 12 Javascript
基于jQuery实现鼠标点击导航菜单水波动画效果附源码下载
Jan 06 Javascript
基于RequireJS和JQuery的模块化编程——常见问题全面解析
Apr 14 Javascript
js调用设备摄像头的方法
Jul 19 Javascript
swiper.js插件实现pc端文本上下滑动功能示例
Dec 03 Javascript
原生js代码能实现call和bind吗
Jul 31 Javascript
微信小程序使用echarts获取数据并生成折线图
Oct 16 Javascript
JavaScript中this的学习笔记及用法整理
Feb 17 Javascript
JS可断点续传文件上传实现代码解析
Jul 30 Javascript
JavaScript实现外溢动态爱心的效果的示例代码
Mar 21 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
日本十大惊悚动漫
2020/03/04 日漫
PHP连接access数据库
2008/03/27 PHP
PHP使用mysqldump命令导出数据库
2015/04/14 PHP
理清PHP在Linxu下执行时的文件权限方法
2017/06/07 PHP
PHP实现通过CURL上传文件功能示例
2018/05/30 PHP
laravel 解决Eloquent ORM的save方法无法插入数据的问题
2019/10/21 PHP
浅谈tudou土豆网首页图片延迟加载的效果
2010/06/23 Javascript
原生JavaScript实现连连看游戏(附源码)
2013/11/05 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
2016/07/07 Javascript
nodejs根据ip数组在百度地图中进行定位
2017/03/06 NodeJs
微信小程序商城项目之淘宝分类入口(2)
2017/04/17 Javascript
NodeJs安装npm包一直失败的解决方法
2017/04/28 NodeJs
详解NODEJS的http实现
2018/01/04 NodeJs
vue编译打包本地查看index文件的方法
2018/02/23 Javascript
详解Vue-cli webpack移动端自动化构建rem问题
2018/04/07 Javascript
详解create-react-app 2.0版本如何启用装饰器语法
2018/10/23 Javascript
Python操作CouchDB数据库简单示例
2015/03/10 Python
Python 中迭代器与生成器实例详解
2017/03/29 Python
python执行使用shell命令方法分享
2017/11/08 Python
Python中if elif else及缩进的使用简述
2018/05/31 Python
python 按不同维度求和,最值,均值的实例
2018/06/28 Python
python 定时器,轮询定时器的实例
2019/02/20 Python
python图片二值化提高识别率代码实例
2019/08/24 Python
Jupyter 无法下载文件夹如何实现曲线救国
2020/04/22 Python
详解利用python识别图片中的条码(pyzbar)及条码图片矫正和增强
2020/11/17 Python
雅诗兰黛旗下走天然植物路线的彩妆品牌:Prescriptives
2016/08/14 全球购物
加拿大奢华时装品牌:Mackage
2018/01/10 全球购物
毕业生自荐书
2013/12/18 职场文书
2014年党员公开承诺书范文
2014/03/28 职场文书
信息技术课后反思
2014/04/27 职场文书
大学新闻系应届生求职信
2014/06/02 职场文书
投资公司董事长岗位职责
2015/04/16 职场文书
nginx简单配置多个server的方法
2021/03/31 Servers
Python机器学习算法之决策树算法的实现与优缺点
2021/05/13 Python
一看就懂的MySQL的聚簇索引及聚簇索引是如何长高的
2021/05/25 MySQL
原型和原型链 prototype和proto的区别详情
2021/11/02 Javascript