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 相关文章推荐
15 个 JavaScript Web UI 库
May 19 Javascript
js 操作select和option常用代码整理
Dec 13 Javascript
jquery如何改变html标签的样式(两种实现方法)
Jan 16 Javascript
javascript实现仿百度图片的瀑布流加载效果
Apr 20 Javascript
JavaScript编写一个简易购物车功能
Sep 17 Javascript
vue2.0父子组件及非父子组件之间的通信方法
Jan 21 Javascript
Angularjs自定义指令Directive详解
May 27 Javascript
js使用highlight.js高亮你的代码
Aug 18 Javascript
基于vue中css预加载使用sass的配置方式详解
Mar 13 Javascript
Webstorm2016使用技巧(SVN插件使用)
Oct 29 Javascript
详解Vue 项目中的几个实用组件(ts)
Oct 29 Javascript
es6中new.target的作用和使用场景简单示例分析
Mar 14 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计算日期相差天数实例分析
2016/02/23 PHP
php查询操作实现投票功能
2016/05/09 PHP
PHP实现四种基础排序算法的运行时间比较(推荐)
2016/08/11 PHP
php 变量引用与变量销毁机制详细介绍
2016/12/05 PHP
利用PHP获取汉字首字母并且分组排序详解
2017/10/22 PHP
laravel 框架结合关联查询 when()用法分析
2019/11/22 PHP
jquery 1.3.2 IE8中的一点点的小问题解决方法
2009/07/10 Javascript
juqery 学习之三 选择器 可见性 元素属性
2010/11/25 Javascript
javascript学习笔记(三) String 字符串类型介绍
2012/06/19 Javascript
FusionCharts图表显示双Y轴双(多)曲线
2012/11/22 Javascript
jquery.ui.draggable中文文档(原文翻译)
2013/11/15 Javascript
node.js中的fs.writeFile方法使用说明
2014/12/14 Javascript
Angular Js文件上传之form-data
2015/08/28 Javascript
javascript实现简单的on事件绑定
2016/08/23 Javascript
基于Bootstrap漂亮简洁的CSS3价格表(附源码下载)
2017/02/28 Javascript
Three.js如何实现雾化效果示例代码
2017/09/27 Javascript
Bootstrap treeview实现动态加载数据并添加快捷搜索功能
2018/01/07 Javascript
记一次vue去除#问题处理经过小结
2019/01/24 Javascript
vue全局自定义指令-元素拖拽的实现代码
2019/04/14 Javascript
Python计算字符宽度的方法
2016/06/14 Python
Python实现统计给定字符串中重复模式最高子串功能示例
2018/05/16 Python
Python模拟简单电梯调度算法示例
2018/08/20 Python
详解python如何在django中为用户模型添加自定义权限
2018/10/15 Python
Python占用的内存优化教程
2019/07/28 Python
python3获取url文件大小示例代码
2019/09/18 Python
python实现从wind导入数据
2019/12/03 Python
Eclipse配置python默认头过程图解
2020/04/26 Python
Win10用vscode打开anaconda环境中的python出错问题的解决
2020/05/25 Python
python 如何用urllib与服务端交互(发送和接收数据)
2021/03/04 Python
JD Sports澳洲官网:英国领先的运动鞋和运动时尚零售商
2020/02/15 全球购物
你所在的项目是如何确定版本号的
2015/12/28 面试题
女方回门宴答谢词
2014/01/14 职场文书
《逃家小兔》教学反思
2014/02/23 职场文书
新学期国旗下演讲稿
2014/05/08 职场文书
学校综治宣传月活动总结
2014/07/02 职场文书
俄语专业毕业生求职信
2014/07/12 职场文书