Js和JQuery基础
1.JavaScript的组成
CMAScript (核心):规定了JS的语法和基本对象
DOM 文档对象模型:处理网页内容的方法和接口
BOM 浏览器对象模型:与浏览器交互的方法和接口
2.JavaScript变量
变量:标示内存中的一块空间,用于存储数据,且数据是可变的。使用var接收
变量的声明:var 变量名; //变量赋予默认值,默认值为undefined(未定义的)
变量的声明和赋值:var 变量名=值; //变量赋予对应的值
在声明JavaScript变量时,需要遵循以下命名规范:
必须以字母或下划线开头,中间可以是数字、字符或下划线
变量名不能包含空格等符号
不能使用JavaScript关键字作为变量名,如:function、this、class
JavaScript严格区分大小写。
3.JavaScript数据类型
3.1基本数据类型
string 字符串类型。””和’’都是字符串,没有任何区别。 JavaScript中没有单个字符
boolean 布尔类型。 固定值为true和false
number 数字类型。 任意数字
null 空,一个占位符。
undefined 未定义类型,该类型只有一个固定值,即undefined,表示变量声明却未定义具体的值。
注:因为undefined是从null中派生出来的,所以undefined==null
3.2引用数据类型
引用类型通常叫做类(class),但在JavaScript中,因为不存在编译过程,所以没有类的概念,所处理的引用数据类型都是对象。
标准创建方式:
var str = new String();//和java相同
var str = new String; //js独有的方式
4.运算符
== 逻辑等。仅仅对比值
===全等。 对比值并且对比类型。如果值和类型都相同,则为true;值和类型有一个不同,则为false。除了===比较的是内容和类型外,其他比较运算符都比较的是内容。
JavaScript逻辑运算符没有 & |
5.正则对象
5.1 RegExp对象的创建方式
var reg = new RegExp("表达式"); (开发中基本不用)
var reg = /^表达式$/; 直接量(开发中常用)
直接量中存在边界,即^代表开始,$代表结束,直接量方式的正则是对象,不是字符串,别用引号。
5.2test方法
正则对象.test(string); 用来校验字符串是否匹配正则。全部字符匹配返回true;有字符不匹配返回false。
//练习:验证手机号
var regex=/^1[3,5,7,8][0-9]{9}$/;
var phone="15623637872";
alert(regex.test(phone));
6.JS数组对象
6.1JS数组的特性
JS数组可以看做 Java中的ArrayList 集合。数组中的每一个成员没有类型限制,及可以存放任意类型,数组的长度可以自动修改 。
6.2JS数组的四种创建方式
var arr = [1,2,3,”a”,true]; //常用的JS数组。 长度5
var arr = new Array();创建一个数组对象,数组长度默认为0
var arr = new Array(4);数组长度是4,相当于开辟了长度为4的空间,每个元素是undefined。(仅在显示数组时进行处理,undefined为了方便显示变成了空字符串形式,其值本质仍然是undefined)
var arr = new Array(“a”,”b”,true); //创建了一个数组,长度3, 数组元素是”a”,”b”,true
7.全局函数(global)
执行:
编码:
解码:
字符串转整数:
字符串转浮点数:
如果字符串的某个字符从字面值上无法转为数字,那么从该字符开始停止转换,仅返回前面正确的转换值。(例如:11.5a55,parseInt结果11,parseFloat结果11.5)
如果字符串的第一个字符就无法从字面值上转为数字,那么停止转换,返回NaN。NaN(Not A Number,一个数字类型的标识,表示不是一个正确的数字)
8.自定义函数/自定义方法
1)JavaScript函数定义必须用小写的function;
2)JavaScript函数无需定义返回值类型,直接在function后面书写 方法名;
3)参数的定义无需使用var关键字,否则报错;
4)JavaScript函数体中,return可以不写,也可以return 具体值,或者仅仅写return;
JavaScript函数调用执行完毕一定有返回值,值及类型根据return决定,如果未return具体值,返回值为undefined;
JavaScript函数若同名,则不存在方法重载,只有方法相互覆盖,最后定义的函数覆盖之前的定义;
因为JavaScript不存在函数重载,所以JavaScript仅根据方法名来调用函数,即使实参与函数的形参不匹配,也不会影响正常调用;如果形参未赋值,就使用默认值undefined
对象直接量:var 对象名 = {属性名1:”属性值1”, 属性名2:”属性值2”, 属性名3:”属性值3”……};。
9.BOM对象
BOM(Browser Object Model)浏览器对象模型
9.1消息框
1)alert():警告框,用来弹出警告消息。示例:alert("弹出吧");
2)confirm():确认框,用于告知用户信息并收集用户的选择。
示例1:confirm("确认或取消")。该方法有返回值,用户通过选择“确定”或者“取消”,方法结束会返回boolean类型的值。“确定”返回ture;“取消”返回false。
3)控制台console:在浏览器的控制台打印。console.log(“内容”);
9.2定时器
1)循环定时器:调用一次就会创建并循环执行这个定时器,直到关闭它为止。
启动循环定时器:setInterval("要调用的方法",毫秒数)
关闭循环定时器:clearInterval(定时器id)
示例:设置一个定时器,倒计时10秒,当时间为0时关闭定时器
<body>
倒计时<span>10</span>秒
<script language="javascript">
var t=10;
function change(){
t--;
$("span").text(t)
if(t<=0){
clearInterval(id)
}
}
var id=setInterval('change()',1000);
</script>
</body>
2)一次性定时器
一次性定时器,调用一次就会创建并执行一个定时器一次。
启动一次性定时器:setTimeout(“调用方法” , 毫秒值);
关闭一次性定时器:clearTimeout(定时器id)
9.3location对象
location 对象包含浏览器地址栏的信息,常用的属性是href。
示例:设置倒计时10秒后自动跳转到百度首页
<script language="javascript">
var t=10;
function change(){
t--;
$("span").text(t)
if(t<=0){
clearInterval(id)
window.location.href="http://www.baidu.com"
}
}
var id=setInterval('change()',1000);
</script>
10.DOM对象
DOM(Document Object Model) 文档对象模型,将标记型文档中所有内容(标签、文本、属性)都封装成对象。
10.1获取元素对象的四种方式
1)document.getElementById(‘id’); 通过元素ID获取对应元素对象,如果找不到,返回null。
2)document.getElementsByName(); 通过元素的name属性获取符合要求的所有元素。
3)document.getElementsByTagName(); 通过元素的元素名(标签名)属性获取符合要求的所有元素,返回一个数组
4)document.getElementsByClassName(); 通过元素的class属性获取符合要求的所有元素,可以获取到元素节点对象数组;如果找不到,返回 空数组。
10.2元素对象常见属性
1)value
获取元素对象的value属性值:元素对象.value
设置元素对象的value属性值:元素对象.value=属性值
2)className
获取元素对象的class属性值:元素对象.className
设置元素对象的class属性值:元素对象. className =属性值
3)checked
获取元素对象的checked属性值:元素对象.checked
设置元素对象的checked属性值:元素对象.checked =属性值
4)innerHTML
获取元素对象的内容体(所有内容):元素对象.innerHTML
设置元素对象的内容体:元素对象.innerHTML=值
5)innerText
获取元素对象的文本内容:元素对象.inneText
设置元素对象的文本内容:元素对象.innerText=值
示例:模拟炸弹爆炸情景
<body>
<!--模拟炸弹爆炸的情景-->
<div id="div">炸弹还有<font id="font" color="red">10</font>秒爆炸!</div>
<img id="img" width="400px" height="500px" src="https://ss1.bdstatic.com/70cFuXSh_Q1YnxGkpoWK1HF6hhy/it/u=4279991917,2910577700&fm=26&gp=0.jpg">
<script>
var count=10;
function changeText(){
var font=document.getElementById("font");
font.innerText=--count;//改变文本的秒数
if(count==0){
var div=document.getElementById("div");
div.innerHTML="炸弹爆炸啦!";//改变内容
var image=document.getElementById("img");
image.src="https://ss0.bdstatic.com/70cFuHSh_Q1YnxGkpoWK1HF6hhy/it/u=3056604070,2381022538&fm=26&gp=0.jpg";//改变图片
clearInterval(id);//清除定时器
}
}
var id=setInterval("changeText()",1000);//开启定时器
</script>
</body>
11.JS事件
通常鼠标或热键的动作我们称之为事件(Event)
11.1常见的js事件
1)点击事件(onclick)
<body>
<input type="button" value="点我出发点击事件" onclick="run()">
<script>
function run(){
alert("事件触发")
}
</script>
2)获取焦点事件(onfocus)
<body>
<input type="text" onfocus="run()">
<script>
//当鼠标焦点进入输入框时触发
function run(){
alert("事件触发");
}
</script>
</body>
3)失去焦点事件(onblur)
<body>
<input type="text" onblur="run()">
<script>
//当输入焦点离开输入框时触发
function run(){
alert("事件触发")
}
</script>
</body>
4)域内容改变事件(onchange)
<body>
<input type="text" onchange="run()">
<script>
//当输入框内容发送改变时触发
function run(){
alert("事件触发")
}
</script>
</body>
5)加载完毕事件(onload)
加载完毕事件:页面元素组件加载完毕时触发。
<body onload="run()">
<script>
function run(){
alert("事件触发")
}
</script>
</body>
6)表单提交事件(onsubmit)
表单提交事件:表单的提交按钮被点击时触发,该事件需要返回boolean类型的值来执行提交或阻止表单数据的操作。
事件得到true,提交表单数据;事件得到false,阻止表单数据提交。
<body >
<form onsubmit="return run()">
<input type="text" onchange="run()" name="name">
<input type="submit" value="提交">
</form>
<script>
function run(){
alert("事件触发");
return true;
}
</script>
</body>
7)键位事件
onkeyup:键位弹起
onkeydown:键位按下
onkeypress:键位按住
键位弹起事件:在组件中输入某些内容时,键盘键位弹起时触发该事件
8)鼠标移入事件(onmouseover)
鼠标移入事件:鼠标移入某个元素组件时触发
<body >
<input type="text" onmouseover="run()" name="name">
<script>
function run(){
alert("事件触发");
}
</script>
</body>
9)鼠标移出事件(onmouseout)
<body >
<input type="text" onmouseout="run()" name="name">
<script>
function run(){
alert("事件触发");
}
</script>
</body>
11.2JS事件的两种绑定方式
1)为事件绑定一个无参函数
<input type="text" onclick="run()">
2)为事件绑定一个有参函数
一个参数,非this
<input type="text" onclick="run(1)">
一个参数,是this。这个this指的是当前input对象。
<input type="text" onclick="run(this)">
多个函数
<input type="text" onclick="run(this),run2(),run3()">
3)通过DOM绑定
不能传递参数,一个事件只能绑定一个函数。
<body >
<input type="text" id="name1">
<script>
function run(){
alert("事件触发")
}
window.onload=function(){
document.getElementById("name1").onclick=run;
}
</script>
</body>
12.JS练习题
12.1点击改变灯泡的颜色
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>灯光控制</title>
</head>
<body>
<img id="image" src="on.gif" onclick="opened()">
<script>
var count=0;
function opened(){
count++;
if(count%2==1){
document.getElementById("image").src="off.gif";
}else{
document.getElementById("image").src="on.gif";
}
}
</script>
</body>
</html>
12.2轮播图
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>轮播图</title> <script>
var i = 0;
var id;
var index = 0;
var img=["banner_1.jpg","banner_2.jpg","banner_3.jpg"];
function opened(){//打开定时器
id=setInterval("changeImg()", 3000);
}
function closed(){//关闭定时器
clearInterval(id);
}
function changeImg(){
index++;
document.getElementById("banner").src = "img/"+img[index%3];
}
</script> </head>
<!--轮播图,定时切换图片,当鼠标进入图片时暂停,移出时播放-->
<body onload="opened()">
<img id="banner" src="img/banner_1.jpg" width="100%" onmouseover="closed()" onmouseout="opened()">
</body>
</html>
12.3页面自动跳转
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>页面自动跳转</title>
</head>
<body>
<div id="div" align="center">页面 <font id="font" color="deeppink">5</font> 秒后跳转到百度首页</div>
<script>
var second=5;
function jump(){
document.getElementById("font").innerText=--second;
if(second<=0){
window.location.href="http://www.baidu.com";
clearInterval(id);
}
}
var id=setInterval("jump()",1000);
</script>
</body>
</html>
12.4表单验证的js代码
<script>
window.onload = function(){
document.getElementById("form").onsubmit = function(){
//验证用户名
//验证密码
//...
//都成功则返回true
//
return checkUsername() && checkPassword();
} document.getElementById("username").onblur = checkUsername;
document.getElementById("password").onblur = checkPassword;
} function checkUsername(){
var username = document.getElementById("username").value;
var reg_username = /^\w{6,12}$/;
var flag = reg_username.test(username);
var s_username = document.getElementById("s_username");
if(flag){
s_username.innerHTML = "<img height='25' width='35' src='img/gou.png'>"
}else{
s_username.innerHTML = "用户名格式有误";
}
return flag;
} function checkPassword(){
var password = document.getElementById("password").value;
var reg_password = /^\w{6,12}$/;
var flag = reg_password.test(password);
var s_password = document.getElementById("s_password");
if(flag){
s_password.innerHTML = "<img height='25' width='35' src='img/gou.png'>"
}else{
s_password.innerHTML = "密码格式有误";
}
return flag;
} </script>
13.jQuery
就是一个封装了很多方法的javascript库
13.1jQuery入口函数
入口函数也叫页面加载完毕函数,在页面加载完成时自动执行,有两种方式,推荐使用第二种方式。一般在入口函数中写页面加载完成后要执行的jQuery代码。
第一种:
$(document).ready(function(){
console.log(123);
});
第二种:
$(function(){
console.log(111);
});
13.2$函数
$其实就是jQuery,当出现$ is not defined的错误时说明没有引入jQuery文件。
jQuery是一个自执行函数,执行jQuery文件也就是给window对象添加一个jQuery属性和$属性。
$参数介绍
参数传递不同,效果也不一样
1)如果参数是一个匿名函数,那么它就是一入口函数
如:$(function(){ });
2)如果参数是一个字符串,那么它是选择器或者创建标签
如:$(“input”),这是一个选择器
如:$(“<div>哈哈哈</div>”),这是在创建一个标签
3)如果参数是一个dom对象,那么就是将dom对象转换为jQuery对象
如:$(dom对象)
13.3jQuery对象和Dom对象
Dom对象:只能调用dom方法和属性,不能调用jQuery的属性和方法
jQuery对象:只能调用jQuery方法和属性,不能调用dom的属性和方法
dom转jQuery:直接在dom对象的前面加一个$,然后把dom对象用括号括起来即可。如$(dom对象)
jQuery转dom:
a. 使用下标取出来
var divs=$("div");//获取所有的div标签,结果集是一个数组
var div1=divs[0];//通过下标取数组中的元素,里面的每一个元素就是dom对象
b. 使用jQuery中的get(index)方法
var divs=$("div");//获取所有的div标签
var div1=divs.get(0);//通过get方法指定要获取的索引,实际上也是利用了数组的特性
开关灯案例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
var buttons=document.getElementsByTagName("button");
//点击开灯按钮,背景变白。dom对象和jQuery对象交叉使用
$(buttons[0]).click(function(){//点击事件使用jQuery
//改变颜色使用原生js
$("body")[0].style.backgroundColor="white";
});
//点击关灯按钮,背景变黑
buttons[1].onclick=function(){//点击实际使用原生js
//改变颜色使用jQuery
$("body").css("background-color","black");
}
});
</script>
</head>
<body>
<!--开关灯案例-->
<!--点击开灯按钮,背景变白;点击关灯按钮,背景变黑-->
<button>开灯</button>
<button>关灯</button>
<img src="../html02/banner_3.jpg" />
</body>
</html>
14.jquery选择器
1)id选择器:$(“#id”),找到对应id的对象
2)类名选择器:$(“.className”),找到类名为className的对象
3)标签选择器:$(“标签名”),找到所有一样的标签
4)兄弟选择器:$(“div,a”),不仅可以找到div标签,还可以找到a标签
5)层级选择器
后代选择器:$(“parent child”),先找到parent标签,再找parent里面的child标签,然后再去找child里面的child标签。(找完所有)
子代选择器:$(“parent>child”),先找到parent标签,再找parent里面的child标签,到这里就不找了。(到此停止)
6)过滤选择器
这类选择器前面都带有冒号:
1):even获取索引为偶数的元素
2):odd获取索引为奇数的元素
3):eq(index) 获取指定索引的元素
4):checked匹配所有选中的被选中元素(复选框、单选框等,不包括select中的option)
5):selected匹配所有选中的option元素
6):enabled匹配所有可用元素
7):disabled匹配所有不可用元素
7)筛选选择器
parent() 查找父亲
next()查找下一个兄弟
prev()查找上一个兄弟
children()获取儿子元素
siblings()找到每个div的所有同辈元素
隔行换色案例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<style>
</style>
<script src="../js/jquery-1.11.0.min.js"></script>
</head>
<body>
<table>
<tr>
<td>1111</td>
<td>1111</td>
<td>1111</td>
<td>1111</td>
</tr>
<tr>
<td>333</td>
<td>113311</td>
<td>11311</td>
<td>13111</td>
</tr>
<tr>
<td>333</td>
<td>113311</td>
<td>11311</td>
<td>13111</td>
</tr>
<tr>
<td>333</td>
<td>113311</td>
<td>11311</td>
<td>13111</td>
</tr>
<tr>
<td>333</td>
<td>113311</td>
<td>11311</td>
<td>13111</td>
</tr>
</table>
<script>
//各行换色
$("tr:even").css("background-color","red");
$("tr:odd").css("background-color","blue");
</script>
</body>
</html>
15.jQuery属性
1)获取和设置文本 text()
获取文本:text()不给参数即可,格式:$(“选择器”).text()。获取所有的文本,包括后代的文本。
设置文本:text()给参数即可,格式:$(“选择器”).text(“设置的文本”)。会覆盖原有内容
设置和获取文本案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#get").click(function(){
//获取内容
console.log($("div").text());
});
$("#set").click(function(){
//设置内容
$("div").text("我是新设置的文本,我会覆盖此范围原有的所有内容");
});
});
</script>
</head>
<body>
<button id="get">获取文本</button>
<button id="set">设置文本</button>
<div>
我是一个div
<font>我是font标签</font>
</div>
</body>
</html>
2)获取和设置样式 css()
获取样式:$("xxx").css(“样式名”),根据样式名来获取对应的样式内容
设置样式:
设置单个样式:$("xxx").css(“样式名” , ”样式”)
同时设置多个样式:$("xxx").css( { “样式名1” : ”样式1” ,“样式名2” : ”样式2” } )
获取设置样式案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#get").click(function(){
//获取样式
console.log($("#one").css("border"));
});
$("#set").click(function(){
//设置单个样式
$("#two").css("background-color","greenyellow");
});
$("#set2").click(function(){
//设置多个样式
$("#three").css({"color":"white","background-color":"black","font-size":"30px"});
});
});
</script>
<style>
#one{
background: aquamarine;
border: 1px solid red;
}
</style>
</head>
<body>
<button id="get">获取div1样式</button>
<button id="set">设置单个样式</button>
<button id="set2">设置多个样式</button>
<div id="one">我是div1</div>
<div id="two">我是div2</div>
<div id="three">我是div3</div>
</body>
</html>
3)获取和设置表单中的值 val()
获取表单中的值:val()不给参数即可,格式:$(“选择器”).val()
设置表单中的值:val()给参数即可,格式:$(“选择器”).val(“设置的值”)。
获取和设置表单中的值的案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#get").click(function(){
console.log($("input").val());
})
$("#set").click(function(){
$("input").val("我是设置的文本内容鸭");
});
});
</script>
</head>
<body>
<button id="get">获取表单内容</button>
<button id="set">设置表单内容</button>
<input type="text" value="我是一个文本框,嘻嘻"/>
</body>
</body>
</html>
4)html()获取和设置容器中的html代码
获取html代码:html()不给参数即可,格式:$(“选择器”).html()。获取所有的html代码和文本
设置html代码:html()给参数即可,格式:$(“选择器”).html(“设置的html代码”)。会覆盖原有内容
获取和设置容器中的html代码的案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#get").click(function(){
console.log($("div").html());
})
$("#set").click(function(){
$("div").html("<b>我是设置的内容,我已经覆盖了原有内容哈</b>");
});
});
</script>
</head>
<body>
<button id="get">获取html内容</button>
<button id="set">设置html内容</button>
<div>
哈哈哈哈哈
<p>我是一个段落</p>
<p><a>我是一个链接</a></p>
</div>
</body>
</body>
</html>
5)attr()获取和设置以及removeAttr()删除容器的属性
获取容器的属性:attr(“属性名”)给出属性名即可,格式:$(“选择器”).attr()。如果没有这个属性,那么获取的属性是undefined。
设置容器的属性:attr()给属性名和属性值即可,格式:$(“选择器”).attr(“属性名 ” , “设置的属性值”)或$(“选择器”).attr({“属性名 ” :“设置的属性值” , “属性名 ” :“设置的属性值”})。如果存在这个属性名,就修改这个属性值;如果不存在这个属性名,就添加这个属性。
移除属性:
removeAttr(“属性名”) 移除单个属性
removeAttr(“属性名1 属性名2”)移除多个属性,属性之间用空格分隔
如果移除的属性不存在也不会报错。
获取和设置以及删除容器的属性的案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#get").click(function(){
console.log($("input").attr("name"));
})
$("#set").click(function(){
$("input").attr("test","测试属性");
});
$("#set2").click(function(){
$("input").attr({"test":"测试属性","test2":"设定多个属性"});
});
$("#remove").click(function(){
$("input").removeAttr("test");
});
$("#remove2").click(function(){
$("input").removeAttr("test test2 attr");
});
});
</script>
</head>
<body>
<button id="get">获取属性</button>
<button id="set">设置单个属性</button>
<button id="set2">设置多个属性</button>
<button id="remove">删除单个属性</button>
<button id="remove2">删除多个属性</button><br>
<input type="text" value="我是一个文本框,嘻嘻" attr="" name="hhh" id="mytext"/>
</body>
</body>
</html>
6)prop()操作布尔类型的属性
在jQuery1.6之后,对于checked,selected,disabled这类布尔类型的属性来说,不能使用attr方法,要使用prop方法。使用如下:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
$("button").click(function (){
alert($("input").prop("checked"));
});
});
</script>
</head>
<body>
<button>查看多选框是否选中</button>
<input type="checkbox"/>
</body>
</html>
全选/全不选案例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#check").click(function(){//满足需求1
//全选与全不选只要保证这个按钮状态与其他按钮状态一致即可
var checkStauts=$("#check").prop("checked");
$("#tb input").prop("checked",checkStauts);
//通过全选按钮的选中与为选中来设置其他按钮的状态
// if($("#check").prop("checked")){
// $("input").prop("checked",true);
// }else{
// $("input").prop("checked",false);
// }
});
$("#tb input").click(function(){//满足需求2
//获取下面所有多选框的个数
var numbers=$("#tb input").length;
//获取下面被选中的多选框的个数
var numberSelected=$("#tb input:checked").length;
//判断两个个数是否相等,相等就改变上面的那个多选框状态
// if(numbers==numberSelected){
// $("#check").prop("checked",true);
// }else{
// $("#check").prop("checked",false);
// }
//代码优化
$("#check").prop("checked",numbers==numberSelected);
});
});
</script>
</head>
<body>
<!--全选/全不选-->
<!--需求1:如果上面的多选框选择了,那么下面的所有多选框都选择,否则都不选。
需求2:另外,如果下面的多选择都选择了,就让上面的多选框选中,否则不选。-->
<table align="center" cellpadding="0" cellspacing="0" border="1px">
<tr>
<th><input type="checkbox" id="check"></th>
<th>分类ID</th>
<th>分类名称</th>
<th>分类描述</th>
<th>操作</th>
</tr>
<tbody id="tb">
<tr>
<td><input type="checkbox"></td>
<td>0</td>
<td>手机数码</td>
<td>手机数码类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>1</td>
<td>电脑办公</td>
<td>电脑办公类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>2</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>3</td>
<td>家居饰品</td>
<td>家居饰品类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
</tbody>
</table>
</body>
</html>
数组遍历和this案例
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
</head>
<body>
<input onblur="hhh(this)"/>
<input onblur="hhh(this)"/>
<script>
//jQuery中this用法
//this是js对象,使用时需要转成jQuery对象,谁使用就指向谁
$(function(){
$("input").blur(function(){
console.log($(this).val());
});
}); //js中this用法
//需要给一个参数,谁使用就指向谁
function hhh(input){
console.log(input.value);
};
var arr=[1,2,3,4];
//js中数组的遍历
arr.forEach(function(obj){
console.log(obj);
}); //jQuery中数组的遍历
$(arr).each(function(i,obj){
console.log(obj);
}); </script>
</body>
</html>
7)jQuery尺寸和位置操作
height()和width()方法获取和设置高度宽度,不包括内边距边框和外边距
innerWdith()和innerHeight()返回元素的宽度和高度,包括内边距
outerHeight()和返回值:IntegerouterWidt()返回元素外部宽度,包括内边距和边框
outerHeight(true)和返回值:IntegerouterWidt(true)返回元素外部宽度,包括内、外边距和边框
offset()获取匹配元素在当前视口的相对偏移。返回的对象包含两个整型属性:top 和 left,以像素计。此方法只对可见元素有效
position()获取匹配元素相对父元素的偏移。返回的对象包含两个整型属性:top 和 left
scrollTop() 获取匹配元素相对滚动条顶部的偏移(元素内容被卷曲出去的高度)。此方法对可见和隐藏元素均有效
scrollLeft() 获取匹配元素相对滚动条左侧的偏移(元素内容被卷曲出去的宽度)。此方法对可见和隐藏元素均有效
16.jQuery事件监听
页面加载完成事件:$(function (){});
单击事件:click(function(){})
双击事件:dblclick(function(){})
鼠标移入事件:mouseover(function(){}) 、mouseenter(function(){})
鼠标移出事件:mouseout(function(){})、mouseleave(function(){})
获得焦点事件:focus(function(){})
失去焦点事件:blur(function(){})
触发事件:trigger(“事件类型”),当某一事件发生时触发。如$(“xxx”).trigger(“click”)当条件满足时触发单击事件。
注册任意监听:on(“监听类型”,function(){ }),包括简单注册和委托注册,简单注册不能动态注册,而委托注册可以动态注册。
off()解绑注册事件。不给参数就解绑所有的注册事件,给参数就解绑指定的注册事件。
一次性监听:one(“监听类型”,function(){ })
mouseover/mouseout在鼠标移动或离开到选取的元素或者子元素上时触发
mouseenter/mouseleave只在鼠标移动或离开到选取的元素上时触发
下拉菜单案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
//设置li横向显示
$("#one>li").css("float","left");
//鼠标点击一次显示,再点击一次不显示
var i=0;
$("#one>li").click(function(){
i++;
if(i%2==1){
$(this).children("ul").show();
}else{
$(this).children("ul").hide();
}
});
//获取鼠标移入事件
$("#one>li>ul>li").mouseover(function(){
$(this).children().css("background","red");
});
//获取鼠标移出事件
$("#one>li>ul>li").mouseout(function(){
$(this).children().css("background","white");
}); });
</script>
<style>
*{
padding:0;
margin:0;
}
div{
margin-left: 200px;
margin-top: 100px;
}
ul{
list-style:none;
}
#one li{
background:white;
}
a{
text-decoration: none;
background: aquamarine;
margin: 10px;
}
#one li ul{
display: none; }
#one li ul li a{
background:white;
}
/*#one li ul li{
background:bisque;
}*/ </style>
</head>
<body>
<!--下拉菜单案例-->
<!--当鼠标点击一级菜单时显示二级菜单,鼠标再次点击时隐藏二级菜单。鼠标移动到二级菜单时改变鼠标位置的颜色-->
<div>
<ul id="one">
<li>
<a href="#">常用链接</a>
<ul>
<li><a href="http://www.baidu.com" target="_blank">百度</a></li>
<li><a href="#">二级菜单2</a></li>
<li><a href="#">二级菜单3</a></li>
<li><a href="#">二级菜单4</a></li>
</ul>
</li>
<li>
<a href="#">一级菜单2</a>
<ul>
<li><a href="#">二级菜单5</a></li>
<li><a href="#">二级菜单6</a></li>
<li><a href="#">二级菜单7</a></li>
<li><a href="#">二级菜单8</a></li>
</ul>
</li>
<li>
<a href="#">一级菜单3</a>
<ul>
<li><a href="#">二级菜单9</a></li>
<li><a href="#">二级菜单10</a></li>
<li><a href="#">二级菜单11</a></li>
<li><a href="#">二级菜单12</a></li>
</ul>
</li>
</ul>
</div>
</body>
</html>
图片突出显示案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
$("img").mouseenter(function(){
$(this).css("opacity","1").siblings("img").css("opacity","0.4");
});
$("div").mouseleave(function(){
$("img").css("opacity","1");
})
$("div").mouseenter(function(){
$("img").css("opacity","0.4");
})
});
</script>
<style>
body{
background: blue;
}
div{
width: 610px;
margin-top:100px;
margin-left: 300px;
background: white;
}
img{
width: 200px;
height: 200px;
opacity: 0.4;
}
</style>
</head>
<body>
<!--图片突出显示案例-->
<!--当鼠标移入到某一图片时,透明度为1,其他图片的透明度为0.4-->
<!--当鼠标离开大盒子时,所有图片透明度为1-->
<div>
<img src="../img/1.jpg" >
<img src="../img/2.jpg" >
<img src="../img/3.jpg" >
<img src="../img/4.jpg" >
<img src="../img/5.jpg" >
<img src="../img/6.jpg" >
</div>
</body>
</html>
QQ好友列表案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
$("span").click(function(){
$(this).siblings().show().parent().siblings('li').children('div').hide();
//this代表的是span,通过siblings可以知道他的兄弟div,然后让其显示
//parent是找到span的父亲li,siblings('li')是找到li的其他兄弟节点
//children('div')可以找到其他li的兄弟节点的孩子,然后让其隐藏
});
});
</script>
<style>
ul{
list-style: none;
}
li{
border: 1px solid darkgrey;
width: 260px;
background-color: royalblue;
}
div{
height: 200px;
}
li div{
display: none;
background-color: white;
}
</style>
</head>
<body>
<!--QQ好友列表案例-->
<!--当鼠标某一个分组时,显示这个分组的好友列表,其他的分组好友列表-->
<div>
<ul>
<li>
<span>分组一</span>
<div>我是分组一的好友列表</div>
</li>
<li>
<span>分组二</span>
<div>我是分组二的好友列表</div>
</li>
<li>
<span>分组三</span>
<div>我是分组三的好友列表</div>
</li>
<li>
<span>分组四</span>
<div>我是分组四的好友列表</div>
</li>
</ul>
</div>
</body>
</html>
事件对象
注册一个事件,系统会生成一个对象记录这个事件触发时的一些信息,用事件参数e来获取。
按键改变颜色案例:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function(){
var id=$("#change");
var span=$("#keyCode");
$(document).on("keydown",function(e){
switch(e.keyCode){
case 82:id.css("background","red");span.text(82);break;
case 71:id.css("background","green");span.text(71);break;
case 66:id.css("background","blue");span.text(66);break;
case 80:id.css("background","purple");span.text(80);break;
case 89:id.css("background","yellow");span.text(89);break;
default:id.css("background","pink");span.text("查无此键");break;
} });
});
</script>
<style>
#div{
margin-top: 100px;
text-align: center;
}
#change{
background: burlywood;
width: 300px;
height: 200px;
margin-left: 518px;
font-size: 26px;
}
</style>
</head>
<body>
<div id="div">
<h2>按钮改变颜色</h2>
<div id="change"><br><br>
keyCode是:<span id="keyCode"></span>
</div>
</div>
</body>
</html>
17. jQuery内容操作
append(“内容”):朝容器最后面添加内容
appendTo(“要添加到的容器”): 谁添加到哪去
after(“内容”):添加内容到兄弟节点的后面
before(“内容”):添加内容到兄弟节点的前面
remove():删除自己
empty():清空子节点 自己还在
parent ():获取父元素
clone():后代节点的克隆,只存在于内存中,要使用就要追加。里面的参数为true会克隆事件,false则不克隆事件,如果不写参数默认是false.
数据增删案例1(onclick):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script>
var td="<td><a href='#' onclick='del(this)'>删除</a>";
$(function(){
$("#button").click(function(){
var id=document.getElementById("id").value;
var name=document.getElementById("name").value;
var score=document.getElementById("score").value;
$("table").append("<tr><td>"+id+"</td><td>"+name+"</td><td>"+score+
"</td>"+td);
}); });
function del(d){
$(d).parent().parent().remove();
}
</script>
<style>
body{
text-align: center;
}
table{
text-align: center;
}
th{
width:150px;
}
</style>
</head>
<body><br> <form >
输入学生信息:
<input type="text" name="id" id="id" placeholder="编号">
<input type="text" name="name" id="name" placeholder="姓名">
<input type="text" name="score" id="score" placeholder="分数">
<input type="button" value="添加" id="button">
</form><br><hr>
<h3>学生信息</h3>
<table align="center" cellpadding="0" cellspacing="0" border="1px solid #EAEAEA">
<tr>
<th>编号</th>
<th>姓名</th>
<th>分数</th>
<th>操作</th>
</tr>
</table>
</body>
</html>
数据增删案例2(on的委托方式注册):
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>jQuery增删小案例修改版</title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script>
var td="<td><a href='#' class='del'>删除</a>";
$(function(){
$("#button").click(function(){
var id=document.getElementById("id").value;
var name=document.getElementById("name").value;
var score=document.getElementById("score").value;
$("#tb").append("<tr><td>"+id+"</td><td>"+name+"</td><td>"+score+
"</td>"+td);
$(".input").val("");//清空输入框
});
//使用on委托注册删除
$("tbody").on("click",'.del',function(){
$(this).parent().parent().remove();
}) }); </script>
<style>
body{
text-align: center;
}
table{
text-align: center;
}
th{
width:150px;
}
</style>
</head>
<body><br> <form >
输入学生信息:
<input type="text" name="id" id="id" class="input" placeholder="编号">
<input type="text" name="name" id="name" class="input" placeholder="姓名">
<input type="text" name="score" id="score" class="input" placeholder="分数">
<input type="button" value="添加" id="button">
</form><br><hr>
<h3>学生信息</h3>
<table align="center" cellpadding="0" cellspacing="0" border="1px solid #EAEAEA">
<tr>
<th>编号</th>
<th>姓名</th>
<th>分数</th>
<th>操作</th>
</tr>
<tbody id="tb"></tbody>
</table>
</body>
</html>
18. jQuery动画
显示和隐藏、上拉隐藏和下拉显示、淡入和淡出案例:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
</head>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
<script>
var i = 0;
$(function() {
$("button").click(function() {
i++;
if(i % 2 == 1) {
$("img").hide();//隐藏
$("img").slideUp();//上拉隐藏
$("img").fadeOut(); //淡出
} else {
$("img").show();//显示
$("img").slideDown();//下拉显示
$("img").fadeIn(); //淡入
//slideToggle()//切换:如果是隐藏状态那么会划入,如果是显示状态那么会划出
}
});
//自定义动画
$("button").click(function() {
$("img").animate({top:"100px",left:"200px",width:"1000px"})
});
});
</script>
<style>
img{
position: absolute;
}
</style>
<body>
<!--动画-->
<button>按钮</button>
<img src="../html02/banner_3.jpg" width="300px"/>
</body> </html>
动画队列的停止与开始案例:
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
</head>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
<script>
var i = 0;
$(function() {
$("#start").click(function() {
$("img").slideDown(2000).slideUp(2000);
});
$("#stop").click(function() {
//stop(a,b)中两个参数的含义
//a:是否清除队列
//b:是否跳转到最终效果
$("img").stop(true,false);//点击停止就会停留在当前动画状态
//如果stop()不写参数,默认参数都是false
});
});
</script>
<style>
img{
position: absolute;
display: none;
}
</style>
<body>
<!--动画队列的停止与开始案例-->
<button id="start">开始动画</button>
<button id="stop">停止动画</button><br>
<img src="../html02/banner_3.jpg" width="1000px"/>
</body> </html>
19.JQuery练习
全选与全不选
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#check").click(function(){//满足需求1
//全选与全不选只要保证这个按钮状态与其他按钮状态一致即可
var checkStauts=$("#check").prop("checked");
$("#tb input").prop("checked",checkStauts);
//通过全选按钮的选中与为选中来设置其他按钮的状态
// if($("#check").prop("checked")){
// $("input").prop("checked",true);
// }else{
// $("input").prop("checked",false);
// }
});
$("#tb input").click(function(){//满足需求2
//获取下面所有多选框的个数
var numbers=$("#tb input:checkbox").length;
//获取下面被选中的多选框的个数
var numberSelected=$("#tb input:checked").length;
//判断两个个数是否相等,相等就改变上面的那个多选框状态
// if(numbers==numberSelected){
// $("#check").prop("checked",true);
// }else{
// $("#check").prop("checked",false);
// }
//代码优化
$("#check").prop("checked",numbers==numberSelected);
});
});
</script>
</head>
<body>
<!--全选/全不选-->
<!--需求1:如果上面的多选框选择了,那么下面的所有多选框都选择,否则都不选。
需求2:另外,如果下面的多选择都选择了,就让上面的多选框选中,否则不选。-->
<table align="center" cellpadding="0" cellspacing="0" border="1px">
<tr>
<th><input type="checkbox" id="check"></th>
<th>分类ID</th>
<th>分类名称</th>
<th>分类描述</th>
<th>操作</th>
</tr>
<tbody id="tb">
<tr>
<td><input type="checkbox"></td>
<td>0</td>
<td>手机数码</td>
<td>手机数码类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>1</td>
<td>电脑办公</td>
<td>电脑办公类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>2</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>3</td>
<td>家居饰品</td>
<td>家居饰品类商品</td>
<td><a href="">修改</a>|<a href="">删除</a></td>
</tr>
</tbody>
</table>
</body>
</html>
添加表情包
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script>
$(function(){
$("img").click(function(){
//clone()克隆,原因是添加表情时原数据会减少
$("#font").append($(this).clone());
console.log($(this).attr("src"));
});
});
</script>
<style>
div{
margin-left: 50px;
}
#image{
margin-top: 50px;
margin-bottom: 30px;
}
</style>
</head>
<body>
<div id="image">
<img src="01.gif">
<img src="02.gif">
<img src="03.gif">
<img src="04.gif">
<img src="05.gif">
<img src="06.gif">
<img src="07.gif">
<img src="08.gif">
<img src="09.gif">
<img src="10.gif">
<img src="11.gif">
<img src="12.gif">
</div>
<div id="font">
<font>请选择表情包:</font>
</div>
</body>
</html>
左移右移
<!DOCTYPE html>
<html> <head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js"></script>
<script type="text/javascript">
$(function() {
//多选移动
$("#rightBtu").click(function() {
$("#right").append($("#left>option:selected"))
});
$("#leftBtu").click(function() {
$("#left").append($("#right>option:selected"))
});
//双击移动
$("option").dblclick(function() {
if($(this).parent().attr("id") == "left") {
$("#right").append($(this))
}else{
$("#left").append($(this))
}
}); });
</script>
<style>
body {
text-align: center;
margin-top: 100px;
margin-left: 100px;
} select {
width: 150px;
height: 300px;
} div {
width: 200px;
height: 500px;
float: left;
}
button{
margin-top: 100px;
}
</style>
</head> <body>
<div>
<!--展开下拉列表-->
<select multiple="multiple" id="left">
<option>钟玉石</option>
<option>方启豪</option>
<option>汤鹏程</option>
</select>
</div>
<div id="button">
<button id="rightBtu">--></button><br>
<button id="leftBtu"><--</button>
</div>
<div>
<select multiple="multiple" id="right">
<option>张林</option>
<option>冷宗阳</option>
<option>哈哈哈</option>
</select>
</div>
</body> </html>
省市联动
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title></title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script>
var cities = [
["长春市","吉林市","延边市","白山市","松原市"],
["济南市","青岛市","临沂市","烟台市"],
["石家庄","唐山","保定","承德","秦皇岛"],
["南京","苏州","扬州","无锡"],
["十堰","襄阳","武汉","随州"]
];
var province = ["请选择省","吉林","山东","河北","浙江","湖北"];
$(function(){
//添加省份
$(province).each(function(i,val){
$("#one").append("<option>"+val+"</option>")
});
//当省份改变时添加城市
$("#one").change(function(){
//清空城市的元素
$("#two").html("<option>请选择市</option>");
//selectedIndex获取选中的option的索引
var index=this.selectedIndex;
if(index>0){//去除省份中索引为0的选择
cities[index-1].forEach(function(city){
$("#two").append("<option>"+city+"</option>")
});
}
});
});
</script>
</head>
<body>
<select id="one"></select>
<select id="two">
<option>请选择市</option>
</select>
</body>
</html>
多选框删除
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>点击多选框删除</title>
<script type="text/javascript" src="../js/jquery-1.11.0.min.js" ></script>
<script type="text/javascript">
$(function(){
$("#check").click(function(){//满足需求1
//全选与全不选只要保证这个按钮状态与其他按钮状态一致即可
var checkStauts=$("#check").prop("checked");
$("#tb input").prop("checked",checkStauts);
});
$("#tb input").click(function(){//满足需求2
//获取下面所有多选框的个数
var numbers=$("#tb input:checkbox").length;
//获取下面被选中的多选框的个数
var numberSelected=$("#tb input:checked").length;
$("#check").prop("checked",numbers==numberSelected);
});
$(".del").click(function(){
$(this).parent().parent().remove();
});
$("button").click(function(){
//多选删除
$("#tb input:checked").parent().parent().remove();
}); });
</script>
</head>
<body>
<!--点击多选框删除-->
<!--需求1:如果上面的多选框选择了,那么下面的所有多选框都选择,否则都不选。
需求2:另外,如果下面的多选择都选择了,就让上面的多选框选中,否则不选。
需求3:只有选择了多选框,点击多选删除才能删除;直接点击删除可以删除对应的单个信息-->
<table align="center" cellpadding="0" cellspacing="0" border="1px">
<tr>
<th><input type="checkbox" id="check"></th>
<th>分类ID</th>
<th>分类名称</th>
<th>分类描述</th>
<th>操作</th>
</tr>
<tbody id="tb">
<tr>
<td><input type="checkbox"></td>
<td>0</td>
<td>手机数码</td>
<td>手机数码类商品</td>
<td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>1</td>
<td>电脑办公</td>
<td>电脑办公类商品</td>
<td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>2</td>
<td>鞋靴箱包</td>
<td>鞋靴箱包类商品</td>
<td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
</tr>
<tr>
<td><input type="checkbox"></td>
<td>3</td>
<td>家居饰品</td>
<td>家居饰品类商品</td>
<td><a href="#">修改</a>|<a href="#" class="del">删除</a></td>
</tr>
<tr><td colspan="6"><button>多选删除</button></td></tr>
</tbody>
</table>
</body>
</html>
Js和JQuery基础的更多相关文章
- 2017年12月24日 JS跟Jquery基础
js基础 alert();confirm(); 基础语法:与C#一致数据类型及类型转换var (string,decimal)parseInt()parseFloat();isNaN(); 运算符:数 ...
- 论如何把JS踩在脚下 —— JQuery基础及Ajax请求详解
一.什么是JQuery? JQuery是一种JavaScript框架,是一堆大神搞出来的能够让前端程序猿敲更少代码.实现更多功能的工具(在此,跪谢各位JQuery开发大大们!!!).JQuery的使用 ...
- js与jquery基础知识对比(一)---2017-05-06
用表格做的,想要对比的内容一目了然,红色部分为重点 js jquery 取元素 id: document.getElementById("aa"); 取到的是dom对象 cla ...
- js进阶 10-2 JQuery基础语法是什么
js进阶 10-2 JQuery基础语法是什么 一.总结 一句话总结: 1.jquery语法超级简单:基础语法是:$(selector).action() 2.jquery选择的时候是带了引号的,肯定 ...
- jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jquery筛选方法
jQuery---jq基础了解(语法,特性),JQ和JS的区别对比,JQ和JS相互转换,Jquery的选择器(基础选择器,层级选择器,属性选择器),Jquery的筛选器(基本筛选器,表单筛选器),Jq ...
- 【前端性能】必须要掌握的原生JS实现JQuery
很多时候,我们经常听见有人说jquery有多快多快.在这个各种类库满天飞的时候,不得不说的是,能有原生JS快吗? 是的,明显原生JS要更快,因为诸如JQuery这样的库必须要兼容各种浏览器和低版本和许 ...
- 原生JS实现jquery的链式编程。
这是我根据之前遇到的一个面试题,题目:用原生JS实现$("#ct").on("click",fn).attr("id"). 然后看了篇jqu ...
- jQuery基础课程
环境搭建 搭建一个jQuery的开发环境非常方便,可以通过下列几个步骤进行. 下载jQuery文件库 在jQuery的官方网站(http://jquery.com)中,下载最新版本的jQuery文件库 ...
- JQuery基础总结上
最近在慕课网学习JQuery基础课程,发现只是跟随网站的课程学习而不去自己总结扩展的话,很难达到真正学会理解的地步. 于是先在网站上草草过了一遍课程,然后借着今天的这个时间边记录边重新整理学习一下. ...
随机推荐
- ICMP&&PING
ICMP 1.定位:互联网控制报文协议(Internet Control Message Protocol),是TCP/IP协议族的一个子协议,位于网络层.它被IP用于提供许多不同的服务.ICMP是一 ...
- jvm学习第二天
0.垃圾回收概述 1.什么是垃圾,怎么判断? 1.1引用计数法 含义 顾名思义,此种算法会在每一个对象上记录这个对象被引用的次数,只要有任何一个对象引用了此对象,这个对象的计数器就+1,取消对这个对象 ...
- Jenkins(3)拉取git仓库代码,执行python自动化脚本
前言 python自动化的脚本开发完成后需提交到git代码仓库,接下来就是用Jenkins拉取代码去构建自动化代码了 新建项目 打开Jenkins新建一个自由风格的项目 源码管理 Repository ...
- NMAP学习笔记
nmap(Network Mapper)是一款用于网络扫描和安全审计软件开源软件,支持Windows.Mac.Linux等多个平台.同时,很多网络管理员也用它来进行网络设备管理.服务升级和主机监控.N ...
- AcWing 250 磁力快(分块)
题目传送门 在一片广袤无垠的原野上,散落着N块磁石. 每个磁石的性质可以用一个五元组(x,y,m,p,r)描述,其中x,y表示其坐标,m是磁石的质量,p是磁力,r是吸引半径. 若磁石A与磁石B的距离不 ...
- 矩阵树定理(Kirchhoff || Laplace)初探——Part 1(无向图计数)
必备知识: 高斯消元,图论基本知识(好像就这...(雾)) 这里是无向图部分,请不要走错场... 定义 我们将邻接矩阵定义为矩阵A(u,v),我想邻接矩阵就不用再多说了: 我们将每个点的度数矩阵定义为 ...
- Java_web-response的outputStream和Write输出数据的问题
解决方法: 把方法换成这个也可以: 因为浏览器也是一个html解析工具,所以认识html文本 下面这个直接write(1),那么浏览器上就会显示L 这个样子在浏览器上看到的就是1: 字节流输出: 这个 ...
- 活动精彩实录 | 阿里云刘军民(米诺):Cassandra中文社区年度回顾
点击这里观看完整视频 大家好,我是刘军民,我是阿里云数据库的产品经理,目前负责云数据库的产品规划以及相关工作.曾在2019年和多位小伙伴一起发起了中文社区,我希望有更多的小伙伴能加入到社区建设中,这样 ...
- Go中的Socket编程
在很多底层网络应用开发者的眼里一切编程都是Socket,话虽然有点夸张,但却也几乎如此了,现在的网络编程几乎都是用Socket来编程.你想过这些情景么?我们每天打开浏览器浏览网页时,浏览器进程怎么和W ...
- Leetcode(8)-字符串转整数
实现 atoi,将字符串转为整数. 在找到第一个非空字符之前,需要移除掉字符串中的空格字符.如果第一个非空字符是正号或负号,选取该符号,并将其与后面尽可能多的连续的数字组合起来,这部分字符即为整数的值 ...