【原创】Jquery初体验二
快速导航
一.传统方式生成Table
var peopleArr = [
{ "name": "刘欢", "age": , "skill": "从头再来" },
{ "name": "杨坤", "age": , "skill": "32唱演唱会" },
{ "name": "那英", "age": , "skill": "白天不懂夜的黑" },
{ "name": "王菲", "age": , "skill": "复合" }
]
$(function () {
var $tbCreate = $("<table></table>")//生成table
var $trTitle = $("<tr></tr>").append("<td>序号</td>").append("<td>姓名</td>").append("<td>年龄</td>").append("<td>技能</td>");
$tbCreate.append($trTitle);//将标题加到tb中
//循环数组,生成tr
for (var i = ; i < peopleArr.length; i++) {
//每循环一次生成一个tr
var $trCreate = $("<tr><td><input type='checkbox' class='chkOne'/>" + (i + ) + "</td></tr>");
//循环对象数组,生成其他td
for (var item in peopleArr[i]) {
var $tdCreate = $("<td>" + peopleArr[i][item] + "</td>");
//加到tr里面
$trCreate.append($tdCreate);
}
//将tr加到table里面
$tbCreate.append($trCreate);
}
//将table加到body里面
$(document.body).append($tbCreate);
二.使用jquery.tmpl插件快速生成Table
<script src="jquery/jquery-1.9.1.js"></script>
<script src="jquery/jquery.tmpl.min.js"></script>首先要引入这个js 需要显示的字段在这里先占位
<script type="text/x-jquery-tmpl" id="tmpl01">
<!--//准备模板,使用占位符,属性名-->
<tr>
<td><input type="checkbox" class="chkOne" /></td>
<td>${name}</td>
<td>${age}</td>
<td>${skill}</td>
<td><a href="#">删除</a> <a href="#">编辑</a></td>
</tr>
</script>
<script type="text/javascript">
var peopleArr = [
{ "name": "刘欢", "age": , "skill": "从头再来" },
{ "name": "杨坤", "age": , "skill": "32唱演唱会" },
{ "name": "那英", "age": , "skill": "白天不懂夜的黑" },
{ "name": "王菲", "age": , "skill": "复合" }
]
//.tmpl方法,只有导入插件才有
//循环对象数组,数组里面的每一个对象,都会生成一个模板dom元素
var $tmplTr = $("#tmpl01").tmpl(peopleArr);//返回的是jq对象.这里是老师故意分开写 ohyeah $(function () {
$tbCreate = $("<table></table>").append($tmplTr);
//将table加到body里面去
$(document.body).append($tbCreate);
})
</script>
三.Jquery中的操作class的几个方法
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="jquery/jquery-1.9.1.js"></script>
<style type="text/css">
div {
border: 1px solid #0094ff;
height: 100px;
width: 100px;
}
.red {
background-color: red;
}
.black {
background-color: black;
}
</style>
<script type="text/javascript">
$(function () {
$("#btnChange").click(function () {
//切换class//toggleClass 会判断 是否有这个class 如果有 删除,如果没有,就添加
API中的说明:如果存在(不存在)就删除(添加)一个类
$("div").toggleClass("black");
})
$("#btnRedAdd").click(function () {
//增加class
$("div").addClass("red"); })
$("#btnRedRemove").click(function () {
//删除class
$("div").removeClass("red"); })
}) </script>
</head>
<body>
<input type="button" value="黑白切换" id="btnChange" />
<input type="button" value="增加redclass" id="btnRedAdd" />
<input type="button" value="移除redclass" id="btnRedRemove" />
<div></div>
<div></div>
<div></div>
</body>
</html>
四:jq里面的克隆
jq里面的克隆,不管深浅,都会克隆子节点,jq里面的浅克隆,只是克隆元素,事件不克隆,jq里面的深克隆,事件一并克隆了
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="jquery/jquery-1.9.1.js"></script>
<script type="text/javascript">
var $button = $("<input type='button' value='点击删除自己' onclick='$(this).remove();'/>");
//为button设置点击事件
//使用jq的方法为dom元素增加事件,当这个dom元素从dom树里面移除,事件也没有了
//如果要实现,将dom元素从dom树里面移除,事件还在,可以将事件写道dom元素的 事件属性里面
$(function () {
$("#btnAdd").click(function () {
//将 按钮 追加到body里面去
$(document.body).append($button); });
}) </script>
</head>
<body>
<input type="button" id="btnAdd" value="增加按钮" />
</body>
</html>
五:属性过滤器
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="jquery/jquery-1.9.1.js"></script>
<script type="text/javascript">
alert("稍等一会");
$(function () {
//表示拥有某种属性的元素
$("li[skill]").css("backgroundColor", "orange");
//表示属性等于某个值
$("li[skill=noNice]").css("fontSize", "50px");
//表示属性不等于某个值
$("li[skill!=noNice]").css("color", "#0094ff");
//属性过滤器,可以判断任意属性-包括id,class等
//适用范围,就是对于元素的一个过滤
$("li[class]").css("border", "5px solid #0094ff");
$("li[class=vegetable][prize=10]").css("backgroundColor", "green");
})
</script>
</head>
<body>
<ol>
<li skill="noSwim">恶魔果实</li>
<li class="noGoodLook">百香果</li>
<li skill="noNice">榴莲</li>
<li class="vegetable" prize="">西兰花</li>
<li class="vegetable" prize="">秋葵</li>
<li id="smile">开心果</li>
<li class="noDelicious">韭菜月饼</li>
</ol>
</body>
</html>
六:表单元素过滤器
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<script src="jquery/jquery-1.9.1.js"></script>
<script type="text/javascript">
$(function () {
$("#btnShowNum").click(function () {
//使用表单元素过滤器 获取选中的checkbox
alert($("input[type=checkbox]:checked").length);
})
})
</script>
</head>
<body>
<input type="checkbox" /><label>篮球</label>
<input type="checkbox" /><label>足球</label>
<input type="checkbox" /><label>排球</label>
<input type="checkbox" /><label>曲棍球</label>
<br />
<input type="radio" name="male" /><label>男</label>
<input type="radio" name="male" /><label>女</label>
<input type="button" value="显示选中个数" id="btnShowNum" />
</body>
</html>
【原创】Jquery初体验二的更多相关文章
- jquery.fn.extend与jquery.extend--(初体验二)
1.jquery.extend(object); 为扩展jQuery类本身.为类添加新的方法. jquery.fn.extend(object);给jQuery对象添加方法. $.extend({ a ...
- [原创]vscode初体验
这段时间,在网上看见很多从.net转java的,为什么会造成这样的情况,我感觉有几点 1. 微软在中国的生态不好,死要钱,很多公司都不想花这部分钱 2. 做.net开发人,工资普遍较低 前言 闲聊 ...
- JQuery初体验
虽然做b/s也有一年半了,但是还没怎么认真的去看JQuery,趁自己生病的这几天,恶补一下JQuery方面的知识,保持学习的态度,内容很简单,聊以自慰一下>_<.废话不多说,直接上代码了. ...
- Jquery初体验一
<!DOCTYPE html> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <m ...
- Ruby on rails初体验(二)
体验一中添加了一个最基本的支架和一个简单的数据迁移,实现了一个基本的增删改查的功能列表.体验二中要在次功能上继续丰满一下功能.实现如下效果: 在每个公司中都包含有不同的部门,按照体验一中的方法,添加一 ...
- Spring Cloud Alibaba 初体验(二) Nacos 服务注册与发现 + 集成 Spring Cloud Gateway
一.服务注册 添加依赖: <dependency> <groupId>com.alibaba.cloud</groupId> <artifactId>s ...
- JSON初体验(二):Gson解析
今天,我们来介绍一下Gson的jar包的用法. JSON解析之Gson 特点:编码简介,谷歌官方推荐 数据之间的转换: 1.将json格式的字符串{}转换成为java对象 API: <T> ...
- node初体验(二)
1.静态资源访问,需要设置路由和响应标头 2.url模块.path模块.querystring模块 Url { protocol: null, slashes: null, auth: null, h ...
- jQuery---jQuery初体验
jQuery初体验 1. 引入jquery文件 2. 入口函数标准 jQuery优点总结 (对应的就是js的缺点): 查找元素的方法多种多样,非常灵活 拥有隐式迭代特性,因此不需要手写for循环 完全 ...
随机推荐
- Web墨卡托坐标与WGS84坐标互转
原文地址:http://bbs.esrichina-bj.cn/ESRI/thread-78245-1-1.html 在WebGIS的开发中经常用到的地图投影为Web墨卡托和WGS84,故歌地图,bi ...
- 1.8.2suspend与resume方法的缺点-独占
这两个方法使用不当,容易造成公共的同步对象的独占,使得其他线程无法访问公共的同步对象 测试 package com.cky.bean; /** * Created by edison on 2017/ ...
- MATLAB拟合正态分布
clear;clc;close all format compact %% 正态分布的拟合 % 生成随机数 num = 50; y = randn(1000,1); x = 1:num; y = hi ...
- Cacti Install Error
Cacti Error happened while installing: ERROR: Your MySQL TimeZone database is not populated. Please ...
- bzoj4873(最大权闭合子图)
今天学了最大权闭合子图..然后找了这道题,发现完全不会..... 看了题解发现这种有诸如选了一个就一定要选另外的一些的限制又要求最优值的题有的可以转化成最大权闭合子图, 这个题我们首先想到不会选相交的 ...
- codeforces815A Karen and Game 2017-06-27 15:22 31人阅读 评论(0) 收藏
C. Karen and Game time limit per test 2 seconds memory limit per test 512 megabytes input standard i ...
- SurfaceView+MediaPlayer播放视频
SurfaceView拥有独立的绘图表面,因此SurfaceView的UI就可以在一个独立的线程中进行行绘制.又由于不占用主线程资源,SurfaceView一方面可以实现复杂而高效的UI,另一方面又不 ...
- Android-Java构造代码块&构造方法隐式三行
构造代码块: 描述Teacher对象/实体: package android.java.oop06; public class Teacher { private int id = 007; priv ...
- [eetcode 10]Regular Expression Matching
1 题目: Implement regular expression matching with support for '.' and '*'. '.' Matches any single cha ...
- glob
主要是用来在匹配文件,相当shell中用通配符匹配. 用法: glob.glob(pathname) # 返回匹配的文件作为一个列表返回 glob.iglob(pathname) # 匹配到的文件名, ...