目录
1、 jQuery概述
jQuery于2006年创建的一个轻量级的javascript库
对JavaScript做了轻量级的封装,简化了语法
jQuery理念:写得少,做得多
Dom与jQuery方法不同,不能相互调用
● https://jquery.com 官网
● http://hemin.cn/jq 中文api文档
2、 jQuery对象与DOM对象
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title></title>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function test(){
var div1=document.getElementById("text");
//alert(div1);
alert($('div1')); //Dom对象转为jquery对象
var div2=$("#text");
//alert(div2);
alert(div2[0]);//jquery对象转为Dom对象
alert(div2.get(0));
/* var div1=document.getElementById("text");
alert(div1.value);
var div2=$("#text");
alert(div2.val());
区别:Dom实际表示网页中的标签
jquery对象是一个数组对象
将原生Dom包含里面,数组对象中封装了许多方法*/
}
</script>
</head>
<body>
<input type="text" id="text" value="sss" />
<input type="button" onclick="test()" value="测试"/>
</body>
</html>
3、 jQuery选择器
(1)基本选择器
#id
.class
element
复合选择器
‘*’ 通配选择器
(2)表单选择器
input
text
password
radio
button
submit
reset
image
checkbox
file
hidden
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script type="text/javascript" src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function test(){
/* var s=$("#text");
var s=$("input");
var s=$(".teclass");
var s=$(".teclass,input"); */
var s=$("li:first");
console.log(s.length);
}
</script>
</head>
<body>
<input type="text" id="text" class="teclass" />
<input type="button" value="按钮" onclick="test()" />
<ul>
<li>111</li>
<li>222</li>
</ul>
</body>
</html>
4、jQuery操作
(1)html属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function test(){
//val() 获得第一个匹配标签的value属性值
//val(v)设置所有匹配的标签的value属性值
//$("#textid1").val($("#textid2").val());
//$("input").val("www");
//console.log($("input").attr("name"));
//$(":checkbox").attr("checked",true);
//$(":checked").attr("checked",true);
//$(":checked").attr("checked",false);
$(":checked").removeAttr("checked",false);
}
</script>
</head>
<body>
<input type="text" id="textid1" name="www"/>
<input type="text" id="textid2" />
<input type="button" onclick="test()" value="按钮" />
<input type="checkbox" checked="checked" />
<input type="checkbox" />
<input type="checkbox" />
</body>
</html>
(2)css属性
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function test(){
//console.log($("#div1").css("background-color"));
//$("#div1").css("background-color","blue");
//$("#div1").css({"background-color":"pink","width":"100px","height":"100px"});
//$("#div1").addClass("divcss");
//$("#div1").removeClass("divcss");
$("#div1").toggleClass("divcss");
}
</script>
<style type="text/css">
.divcss{
background-color: lightpink;
width: 120px;
height: 120px;
border-radius: 10px;
}
</style>
</head>
<body>
<div id="div1" >
div
</div>
<input type="button" onclick="test()" value="按钮" />
</body>
</html>
(3) 文本
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function test(){
//console.log($("#div1").html()); 获得html内容
//console.log($("#div1").text()); 获得文本内容 ,不能解析标签
//$("#div1").text("<b>div1</b>");
$("#div1").html("<b>div1</b>");
//$("#div1").append("sss"); 在标签末尾追加html内容
//$("#div1").before("sss"); 标签前面增加内容
// $("#div1").after("sss");标签后面增加内容
//$("#div1").appendTo("#div2");标签加入另一个标签中
//$("#div1").remove(); 删除标签
//$("#div1").empty(); //标签为空
}
</script>
</head>
<body>
<div id="div1">
<b>
div1
</b>
</div>
<div id="div2">
<b>
div2
</b>
</div>
<input type="button" onclick="test()" value="按钮" />
</body>
</html>
5、筛选-祖先、后代、同胞、过滤、判断
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
function test(){
//var obj=$("#div1").parent(); //直接父类
//var obj=$("#div1").parents(); //所有父类
//var obj=$("#div1").parents("html"); //祖先中指定的父级标签
//var obj=$("#div1").children();//子级
//var obj=$("#div1").children("p");
//var obj=$("#div1").find("p"); //孙子
//var obj=$("#div1"). siblings(); //同胞标签,上下所有兄弟标签
//var obj=$("#div1"). siblings("p");
//var obj=$("#div1").next();
//var obj=$("#div1").nextAll();
//var obj=$("#div1").prev()();
//var obj=$("#div1").prevAll();
//var obj=$("#div1").first();
//var obj=$("#div1").last();
//var obj=$("p").eq(2);
//var obj=$("p"). filter(".ii");
var obj=$("p"). not($(".ii")[0]);
console.log(obj.text());
console.log($("#div1").parent().is("p"));//false
}
</script>
</head>
<body>
<p>同胞标签</p>
<p class="ii">同胞相邻标签上</p>
<div id="div1">
<p>
<b>div1</b>
</p>
<b> div2</b>
</div>
<p>同胞相邻标签下</p>
<p>同胞标签</p>
<input type="button" onclick="test()" value="按钮" />
</body>
</html>
6、jQuery事件-ready事件、绑定事件、合成事件、其他常用事件
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title></title>
<script src="js/jquery-1.8.3.min.js"></script>
<script type="text/javascript">
/* 为标签动态添加事件,以及事件处理函数,事件切换 */
$(function(){
/* $("#btn1").click(function(){
alert("事件响应"); //绑定事件
}) */
//hover(over,out) over移入触发的函数,out是移出触发的函数 合成事件
//鼠标移入一个匹配的标签上面时,会触发指定的第一个函数,鼠标移出这个标签时,会触发指定的第二个函数
$("#div1").hover(
function(){
$(this).css("background-color","blue");
},
function(){
$(this).css("background-color","red");
}
);
//事件切换 toggle(fn1,fn2...)
$("#btn1").toggle(
function(){
$(this).css("background-color","blue");
},
function(){
$(this).css("background-color","red");
},
function(){
$(this).css("background-color","green");
}
);
//一次性事件
/* $("#btn1").one("click",function(){
alert($(this).val());
}); */
$("input[type='button']").click(function(){
alert();
});
//当浏览器大小改变时触发
$(window).resize(function(){
console.log(window.innerHeight+"::"+window.innerWidth);
});
//on() 方法绑定事件处理程序到当前选定的jQuery对象中的元素
$("#btn1").on("click", function(){
alert( $(this).text() );
})
})
</script>
</head>
<body>
<input type="button" value="按钮" id="btn1" />
<input type="button" value="按钮" />
<input type="button" value="按钮" />
<div id="div1">div</div>
</body>
</html>