5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)

时间:2022-09-08 13:21:36
  1. 表格隔行变色以及单选/复选
  2. 表格展开关闭
  3. 表格筛选
  4. 字体变大/缩小
  5. 选项卡
  6. 网页换肤

tip1:

$("tr:odd")和$("tr:even")选择器索引是从0开始的,因此第1行是偶数

1、表格隔行变色以及单选/复选

.even{background-color: #fff38f;} /*偶数行样式*/
.odd{ background-color: #dcdcdc;} /*奇数行样式*/
.selected{ background-color:#ff4136; }
    <table>
<thead>
<tr><th></th><th>姓名</th><th>性别</th><th>暂住地</th></tr>
</thead>
<tbody>
<tr><td><input name="sel" type="checkbox"></td><td>张三</td><td>男</td><td>浙江宁波</td></tr>
<tr><td><input name="sel" type="checkbox" checked></td><td>李四</td><td>女</td><td>浙江杭州</td></tr>
<tr><td><input name="sel" type="checkbox"></td><td>王五</td><td>男</td><td>湖南长沙</td></tr>
<tr><td><input name="sel" type="checkbox"></td><td>赵六</td><td>男</td><td>浙江温州</td></tr>
<tr><td><input name="sel" type="checkbox"></td><td>Rain</td><td>男</td><td>浙江杭州</td></tr>
<tr><td><input name="sel" type="checkbox"></td><td>MAXMAX</td><td>女</td><td>浙江杭州</td></tr>
</tbody>
</table>
$(function(){
// 表格隔行变色
$("tbody>tr:odd").addClass("odd");
$("tbody>tr:even").addClass("even");
// 控制行高亮显示
// $("tr:contains('王五')").addClass("selected");
// 选择行单选
// 初始化默认选中
// $("table :radio:checked").parents("tr").addClass("selected"); //或者
// $("tbody>tr:has(:checked)").addClass("selected");
// $("tbody>tr").click(function(){
// $(this).addClass("selected")
// .siblings().removeClass("selected")
// .end()
// .find(":radio").prop("checked",true);
// });
// 选择行多选
// 初始化默认选中
// $("table :checkbox:checked").parents("tr").addClass("selected"); //或者
$("tbody>tr:has(:checked)").addClass("selected");
$("tbody>tr").click(function(){
var hasSelected=$(this).hasClass("selected");
$(this)[hasSelected?"removeClass":"addClass"]("selected") //三元运算,结果为"removeClass"或者"addClass"
.find(":checkbox").prop("checked",!hasSelected);
})
})

5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)

2、表格展开关闭

    <table>
<thead>
<tr><th>姓名</th><th>性别</th><th>暂住地</th></tr>
</thead>
<tbody>
<tr class="parent" id="row_01"><td colspan="3">前台设计组</td></tr>
<tr class="child_row_01"><td>张三</td><td>男</td><td>浙江宁波</td></tr>
<tr class="child_row_01"><td>李四</td><td>女</td><td>浙江杭州</td></tr>
<tr class="parent" id="row_02"><td colspan="3">前台开发组</td></tr>
<tr class="child_row_02"><td>王五</td><td>男</td><td>湖南长沙</td></tr>
<tr class="child_row_02"><td>赵六</td><td>男</td><td>浙江温州</td></tr>
<tr class="parent" id="row_03"><td colspan="3">后台开发组</td></tr>
<tr class="child_row_03"><td>Rain</td><td>男</td><td>浙江杭州</td></tr>
<tr class="child_row_03"><td>MAXMAX</td><td>女</td><td>浙江杭州</td></tr>
</tbody>
</table>
$(function(){
$("tr.parent").click(function(){
$(this).toggleClass("selected")
.siblings(".child_"+this.id).toggle();
}).click(); //页面加载时即触发click事件,默认收缩
})

5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)

3、表格筛选

$(function(){
$("#filterName").keyup(function(){
$("table tbody tr").hide()
.filter(":contains('"+($(this).val())+"')").show();
}).keyup(); //防止刷新表单其值保持不变,因此,需DOM加载完成时即触发keyup事件
})

5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)

4、字体变大/缩小

 <div class="msg">
<div class="msg_caption">
<span class="bigger">放大</span>
<span class="smaller">缩小</span>
</div>
<div>
<p id="para">
文字大小文字大小文字大小
</p>
</div>
</div>
$(function(){
$("span").click(function(){
var thisEle=$("#para").css("font-size");
var textFontSize=parseInt(thisEle,10); //去掉单位获取10进制
var unit=thisEle.slice(-2); //返回字符串中从指定的字符开始的一个字符串。-2表示倒数第2个字符开始
var cName=$(this).attr("class");
if(cName=="bigger"){
if(textFontSize<=22) {
textFontSize += 2;
}
}else if(cName=="smaller"){
if(textFontSize>=10) {
textFontSize -= 2;
}
}
$("#para").css("font-size",textFontSize+unit);
})
})

5、选项卡

.tab_menu li{padding: 5px 18px; float: left; border: 1px solid #dcdcdc; margin-right: -1px; cursor: pointer;}
.tab_menu li.selected{border-bottom: 1px solid #fff;}
.tab_menu li.hover{ color: red;}
    <div class="tab">
<div class="tab_menu">
<ul class="fix">
<li class="selected">时事</li>
<li>娱乐</li>
<li>体育</li>
</ul>
</div>
<div class="tab_box">
<div>时事</div>
<div class="dn">娱乐</div>
<div class="dn">体育</div>
</div>
</div>
$(function(){
var $div_li=$("div.tab_menu ul li");
$div_li.click(function(){
$(this).addClass("selected")
.siblings().removeClass("selected");
var index=$div_li.index(this);
$("div.tab_box>div")
.eq(index).show()
.siblings().hide();
}).hover(function(){ //加强效果添加hover事件
$(this).addClass("hover");
},function(){
$(this).removeClass("hover");
});
});

5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)

6、网页换肤

<link rel="stylesheet" id="cssfile" type="text/css" href="css/skin_0.css">

    <ul id="skin" class="fix">
<li id="skin_0" title="灰色" class="selected">灰色</li>
<li id="skin_1" title="紫色">紫色</li>
<li id="skin_2" title="蓝色">蓝色</li>
<li id="skin_3" title="红色">红色</li>
</ul>
<div class="content">
<p>内容颜色</p>
</div>
<script src="js/jquery.cookie.js"></script>
<script>
$(function () {
var $li = $("#skin li");
$li.click(function () {
switchSkin(this.id);
})
var cookie_skin = $.cookie("MyCssSkin");
if (cookie_skin) {
switchSkin(cookie_skin);
}
});
function switchSkin(skinName) {
$("#" + skinName).addClass("selected")
.siblings().removeClass("selected");
$("#cssfile").attr("href", "css/" + skinName + ".css");
$.cookie("MyCssSkin", skinName, {path: '/', expires: 10});
}
</script>

5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)

5.2 《锋利的jQuery》jQuery对表格的操作(选项卡/换肤)的更多相关文章

  1. jQuery对表单、表格的操作及更多应用(下:其他应用)

    内容摘录自锋利的JQuery一书 三.其他应用  1 网页字体大小控制(P164) <span class="bigger">放大</span> <s ...

  2. 第5章 jQuery对表单、表格的操作及更多应用

    本章主要是对前面4章的小结和应用. 一. 表单form应用 表单分为3个组成部分 (1)form标签 表单可包含文本域,复选框,单选按钮等等.表单用于向指定的 URL 传递用户数据. (2)表单域 - ...

  3. jquery隐藏table表格的某一列

    jquery隐藏table表格的某一列: $('table tr').find('td:eq(13)').hide(); 隐藏table的第13列

  4. jquery 动态添加表格行

    jquery 动态添加表格行 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <h ...

  5. jQuery动态对表格Table进行添加或删除行以及修改列值操作

    jQuery,不仅可以以少量的代码做很多操作,而且兼容性好(各种浏览器,各种版本). 下面用jQuery动态对表格Table进行添加或删除行以及修改列值操作 1.jQuery代码 <script ...

  6. jQuery(6)——jQuery对表单、表格的操作及更多应用

    jQuery对表单.表格的操作及更多应用 [表单应用] 一个表单有表单标签.表单域及表单按钮三个基本部分. 单行文本框应用:获取和失去焦点改变样式. 也可以用CSS中的伪类选择符来实现,但是IE6并不 ...

  7. jQuery——动态给表格添加序号

    摘录自:http://www.cnblogs.com/picaso/archive/2012/10/08/2715564.html 很多时候遇到需要对表格动态操作,而且一般都会有表格的序号,但是有时候 ...

  8. 第84天:jQuery动态创建表格

    jQuery动态创建表格 <!DOCTYPE html> <html lang="en"> <head> <meta charset=&q ...

  9. jquery可拖动表格调整列格子的宽度大小&lpar;转&rpar;

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. ruby bundle config 镜像映射配置

    新增映射 : bundle config mirror.https://rubygems.org/ http://ruby.taobao.com #所有对source https://rubygems ...

  2. VedioCaptureHelper

    void testFun() { chStringA strDevName; chStringA strDevID; chStringA useDevName = "WIN2 USB2.0 ...

  3. jq slideUp slideDown

    <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...

  4. jquery获取div距离顶部的距离

    获取元素到页面顶部距离的语句为: 1.jquery写法:$(“#divID”).offset().top //推荐 $("#vertical").position().top 2. ...

  5. HTML特殊符号显示技巧

    转:http://www.cnblogs.com/JessonChan/archive/2011/08/06/2129170.html HTML符号 显示一览表.编辑博客的时候经常会用到.特别是空格( ...

  6. Html&plus;Css实现九大行星动画效果

    前段时间项目中需要开发一个3D效果的环形菜单类似行星旋转,折腾了好久弄出了个样子,但是最后客户改版了不需要了,好不容易弄出来的吊炸天的效果不能这么浪费了, 今年神舟十一号载人飞船顺利发射成功,中国航天 ...

  7. Django model 表与表的关系

    一对多:models.ForeignKey(其他表) 多对多:models.ManyToManyField(其他表) 一对一:models.OneToOneField(其他表) 应用场景: 一对多:当 ...

  8. 效率生产力工具 —— idea 插件

    maven helper: 打开该pom文件的Dependency Analyzer视图(在文件打开之后,文件下面会多出这样一个tab), 进入Dependency Analyzer视图之后有三个查看 ...

  9. ACM-ICPC 2018 沈阳赛区网络预赛 F&period; Fantastic Graph &lpar;贪心或有源汇上下界网络流&rpar;

    "Oh, There is a bipartite graph.""Make it Fantastic."X wants to check whether a ...

  10. 转:Flash 插件面板 DragonBonesDesignPanel 的绿色安装方法

    最近在cocos2d-js下捣腾Dragonbones.转一个文章,大家可以参考安装Dragonbones.关于这个Dragonbones,5月份的时候还用得好好的,cocos2d-js还能妥妥的加载 ...