常用方法
兄弟前后----多元素,父、子元素
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script >
// .next() 获取节点之后的挨着得第一同辈元素
// .next("div") 紧邻的第一个div标签
// .nextAll() 获取节点之后的所有同辈元素
//.prev()、 .prevAll()兄弟中之前的元素
// .siblings() 获取所有同辈的兄弟节点
// .children() 找子元素 所有子元素中查找,只从孩子元素中查找,不在孙子及以后查找
// .parent() 找父元素
// .end() 返回最近一次"破坏性"操作之前的对象
$(function () {
$("#d3").next().css("background","red");//等价于下面
// $("#d3+p").css("background", "red");
// $("#d3").next("div").css("background", "red");//这样找不到
// $("#d3").nextAll().css("background", "yellow");
// $("#d3").nextAll("div").css("background", "yellow");
// $("#d3").siblings().css("background", "blue");
// $("#d3").children().text(666666666666);
// $("#d3").children().css("background", "pink");
// $("#d4").parent().css("background", "blue");
//d3及之前的所有元素
// $("#d3").prevAll().css("background", "blue").end().css("background", "blue");//等价于下面
$("#d3").prevAll().andSelf().css("background", "blue");
})
</script>
</head>
<body>
<div>1111111
<p>pp111111</p></div>
<div>3333333</div>
<div>5555555</div>
<div id="d3">
<div>dddddddddddd
<div id="d4">aaaaaaaaa</div>
</div>
<div>qqqqqqqqqqqq</div>
<p>pqpqpqpqpqpq</p>
</div>
<p>ppppp</p>
<div>11111
<div>aaaaaaaaaa</div></div>
<div>22222</div>
<div>33333</div>
<div>44444</div>
</body>
</html>
样式操作、光标、定时器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<style>
.b1{
background-color:Yellow;
}
.bg{
background-color: red;
}
.w{
400px;
}
.color{
color: blue;
}
.dark{
background-color: black;
}
</style>
<!-- <script src="jquery3.x.js"></script> -->
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
// 样式操作
// 1. css(<style 设置行内样式)
// 2. 类样式(设置标签的class属性)
// 获取样式attr("class") 设置样式attr("class","myclass") 追加样式addClass("myclss")(不影响其他形式)
// 移除样式removeClass("myclss") 切除样式.toggleClass("myclss") (如果存在样式则去掉样式,如果没有则添加样式)
// 判断是否存在样式hasClass("myclss")
// focus获得光标
// blur失去光标
// setInterval()定时器
// clearInterval()停止定时器
//过滤:filter 实现很多对图片操作的效果(透明度) IE才支持
// 例如 给class属性重新赋值 $("txt").attr("class","bg")
// 聚焦控件:
// .b1{
// background-color:Yellow
// }
$(function () {
// $("input").focus(function () {
// $(this).addClass("b1").siblings().removeClass("b1");
// })
$("#btn").click(function () {
//给class属性重新赋值
// $("#txt").attr("class","bg");
//追加样式
$("#txt").addClass("bg").addClass("color");
})
$("#cx").click(function () {
// $("#txt").removeClass("bg");
//全部移除
$("#txt").removeClass();
})
$("#toggle").click(function () {
$("#txt").toggleClass("bg");
})
//网页开关灯
$("#d1").click(function(){
$("body").toggleClass("dark");
//判断是否存在样式hasClass()
if($("body").hasClass("dark")){
$("#d1").val("开灯")
}
else{
$("#d1").val("关灯")
}
})
})
</script>
</head>
<body>
<input class="b1" type="text"><br>
<input type="text"><br>
<input type="text"><br>
<input type="button" value="dianji" id="btn">
<input type="button" id="cx" value="remove">
<input type="button" id="toggle" value="toggle">
<input type="text" id="txt" class="w"><br>
<input type="button" id="d1" value="关灯">
</body>
</html>
css()、val()、text()、html()、attr()区别
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
//.css() .val()表单元素使用,如:<input> <option> { .text() .html()} 获取或设置两个标签之间的内容
//.attr() 读取或设置元素的属性 .removeAttr() 删除、移除
$("#div1").css("background", "red");//修改样式;: 行内样式 改变style属性
$("#div1").css("background");//获得样式 前面得设置才能获取到
$("#un").val(1111);//修改value
$("#un").val();//获得value
//以上两个方法封装了标签的两个属性 style和value
$(function () {
$("#d1").click(function () {
// $("#link").attr("href", "http://www.baidu.com");
//可以自定义属性
$("#link").attr("a1", 1111);
})
$("#d2").click(function () {
// $("#link").removeAttr("href");
alert($("#link").attr("a1"));
})
})
</script>
</head>
<body>
<input type="button" value="click" id="d1">
<input type="button" value="remove" id="d2">
<a id="link">百度</a>
</body>
</html>
动态创建节点
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="jquery3.x.js"></script> -->
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
// 1.动态创建节点
// append() $("#d1").append($link);把后面对象的添加到前面的容器
// appendTo() $link.appendTo($("#d1")); 把前面的对象,添加到后面的容器
// prepend() $("#d1").prepend($link);把后面的对象添加到前面容器(作用:内容之前或开始标签之后)
// prependTo() $link.prependTo($("#d1"));把前面的对象,添加到后面的容器(作用:内容之前或开始标签之后)
// after() $("#d1").after($link); 把标签添加到结束标签之后(兄弟节点)
// before() 把标签添加到开始标签之前(兄弟节点)
//
// 2.删除节点
// remove() $("#d3 li:last").remove();找到对象,并把这个对象删除,可以返回
// empty() $("#d3 li:last").empty(); 清空标签之间的内容,节点还在
$(function () {
$("#btn").click(function () {
//动态创建a标签,在内存中
var $link = $("<a href='http://www.baidu.com'>百度</a>");
// 给动态生成的控件注册事件(直接拿到对象.click)
// $link.click(function () {
// alert("abc") ;
// return false;
// })
//想在页面上显示出来,调用append方法
//把a标签放到div中,div的结束标签之前
$("#d1").append($link);
debugger
$("#d1").prepend('111111')
//append方法用来在元素的末尾追加元素
$("#d1").after($link);
// $("#d1").before($link);
})
$("#d2").click(function(){
// $("#d3 li:last").remove();
$("#d3 li:last").empty();
})
})
</script>
</head>
<body>
<input type="button" name="name" value="create" id="btn" />
<div id="d1"></div>
<input id="d2" type="button" value="remove">
<ul id="d3">
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</body>
</html>
选择器
基本选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="jquery3.x.js"></script> -->
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
//规则:$(who).when({what})
$(function () {
//id选择器
//$("#d1").css("background","red");
//类选择器
//$(".c1").css("background","green");
//标签选择器
//$("p").css("background","yellow");
//jQuery中事件监听的写法:click()、leave()、focus()、blur()........
//当输入域失去焦点 (blur) 时
$("input").blur(function () {
$("input").css("background-color", "pink");
});
$(".c1").focus(function () {
$("p").text("zzzzzzz")
})
$("#d3").click(function () {
$("p").text("你们都是。。。。");
})
$("#d4").click(function () {
alert(111111111);
//取消后续内容的执行
//return false;
})
//复合选择器中间用(,)隔开
$("#d1,.bg,p").css("background", "pink");
})
</script>
</head>
<body>
<div id="d1">11111</div>
<div id="d2">2222</div>
<p id="p1">ppppp</p>
<div class="c1">3333333</div>
<div class="c1">44444</div>
<div>
<p class="c1">pppppp</p>
</div>
<div>55555</div>
<input class="c1" type="text"><br>
<input id="d3" type="button" value="anniu"><br>
<a id="d4" href="http://www.baidu.com">百度</a>
</body>
</html>
层次选择器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="jquery3.x.js"></script> -->
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
//层次选择器
//后代(空格 >)和兄弟(+ ~)
//(1)$("div li")获取div下的所有li元素(后代,子、子的子。。。。)
//(2)$("div>li")获取div下的直接li子元素.只在后代中找符合第二个选择器的元素,不能在子子后代..中找
//(3)$("menuitem+div")获取样式名为menuitem之后的第一个div元素。+之后的紧挨的第一个元素,如果紧挨的第一个元素 不符合选择器,就不会找到
//(4)$("menuitem~div")获取样式名为menuitem之后的所有div元素。~之后的所有符合选择器的元素 从后面兄弟节点中找,后面兄弟节点子节点的元素即使符合,也选不中
$(function () {
$("#d1 p").css("background", "red");
$("#d1>p").css("background", "pink");
//#d1之后的近邻的div
$("#d1+div").css("background", "yellow");//这样就会找不到 紧挨着的符合选择器
$("#d1+p").css("background", "yellow");
$("#d1~p").css("background", "green");
})
</script>
</head>
<body>
<div id="d1">d1d1ddd11
<div>111111
<p>ppppp</p>
</div>
<p>cccccccc</p>
</div>
<p>p1pp1p1p1p1p1</p>
<div class="bg">222222</div>
<p>p2p2p2pp2p2p2p2</p>
<div>333333
<p>666666</p>
</div>
<div>444444</div>
<div>555555</div>
</body>
</html>
基本过滤器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="jquery3.x.js"></script> -->
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
//$("tr:first") 选择所有tr元素的第一个
//$("tr:last") 选择所有tr元素的最后一个
//$("tr:even") 选择所有的tr元素的第0,2,4... ...个元素(注意:因为所选择的多个元素时为数组,所以序号是从0开始)
//$("tr:odd") 选择所有的tr元素的第1,3,5... ...个元素
//$("td:eq(2)") 选择所有的td元素中序号为2的那个td元素
//$("td:gt(4)") 选择td元素中序号大于4的所有td元素
//$("td:lt(4)") 选择td元素中序号小于4的所有的td元素
//$(":header") 选择所有的h1.....h6元素
//$("div:animated") 选择正在执行动画的<div>元素
$(function () {
$("input:first").css("background","red");
$("input:last").css("background","yellow");
$("input:even").css("background","pink" );
//第4个
$("input:eq(3)").css("width","90px");
//前3个
$("input:lt(3)").css("height","50px");
$("input:not(:last)").val(111);
$("input:gt(4)").css("background","gray");
$(":header").css("font-size","30px");
$("div:not(:first)").css("background","red");
//倒数第3项的索引
var index=$("input").length-3;
//后两项
$("input:gt("+index+")").css("background","aqua");//取变量的值("+index+") gt("+index+")相当于gt(3)
})
</script>
</head>
<body>
<h1>hhhhhh</h1><br>
<input type="text"value=""><br>
<input class="bg" type="text" value=""><br>
<input type="text" value=""><br>
<input id="d1" type="text" value=""><br>
<input type="text" value=""><br>
<input type="text" value=""><br>
<input type="text" value=""><br>
<input type="text" value=""><br>
<input type="text" value=""><br>
<div>33333
<div>55555</div>
</div>
<div>4444</div>
<h2>2222222</h2>
</body>
</html>
属性过滤器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<!-- <script src="jquery3.x.js"></script> -->
<script>
//属性过滤选择器([]) 用[]表示 多属性[][] 开始^= 结尾$= 不等!= 含有*=
//$(div[id])选取有id属性的<div>
//$(div[title=test]) 选取title属性为“test”的 <div> $(div[title!=test])
//$(div[id*=div])选取给定属性是以包含某些值的元素
$(function () {
$("input[id]").css("background-color", "red");
$("input[type=text]").css("background-color", "pink");
$("input[type=text][name=n1]").val(11111);
$("input[id*=d]").val("dddddd");//含有这个字母的都选中
$("input[class^=c]").css("background-color", "blue");
$("input[name$=1]").val(22222);
$("input[type!=text]").css("background-color", "green");
})
</script>
</head>
<body>
<input id="d1" type="text"><br>
<input id="d2" type="text"><br>
<input class="c1" type="text"><br>
<input class="c2" type="text"><br>
<input type="button" value="button"><br>
<input class="c3" type="button" value="click"><br>
<input class="c3" type="button" value="click"><br>
<input type="text" name="m1"><br>
<input type="text" name="name"><br>
<input type="text" name="name1"><br>
<input id="d3" type="checkbox" /><br>
<input class="c4" type="radio"><br>
<input type="radio">
<br/>
<span>sss</span>
</body>
</html>
表单过滤器
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<!-- <script src="jquery3.x.js"></script> -->
<script src="https://cdn.bootcss.com/jquery/1.12.3/jquery.js"></script>
<script>
//表单对象选择器(过滤器)
//$("#form1:enabled")选取id为form1的表单内所有启用的元素 $("#form1:disabled")禁用
//$("input:checked")选取所有选中的元素(Radio、CheckBox)
//$(select option:selected)选取所有选中的选项元素(下拉列表)
//表单选择器(:) 用:表示
// $(":input")选取所有<input>、<textarea>、<select>和<button>元素,$("input")只选取<input>标签
// $(":text")选取所有单行文本框,等价于属性选择器$("input[type=text]")
// $(":password")选取所有密码框。同理:radio、 :checkbox、:submit、:image、:reset、:button、:file、:hidden
// :diabled :checked :selected 表单可以和限制条件一块使用。
$(function () {
$("input[type=text]:disabled").css("background-color", "red");
$("input[type=text]:enabled").css("background-color", "pink");
// $("input[type=checkbox]:checked").css("background-color", "blue");
$("select option:selected").css("background", "red");
$(":text:disabled").css("background-color", "blue");
$(":text:disabled[id!=d1]").css("background", "black");
$(":password[name=123]:checked").val(2222);
// $(":button[id!=btn]").val(11);
// $("input[type=checkbox]:checked").removeAttr("checked");
$(":radio:eq(3)").attr("checked", "true");
$(":radio:eq(3)").attr("checked", "checked"); //checked true都可以,一般用true,比如没选中 就fasle了对应的
$(".bg").click(function () {
alert($(":radio:checked").val());
})
//单选 多选框包装集 需要each(function(){ this是这个包装集中每个DOM对象 }) $对象.each this表示DOM
$("#btn").click(function () {
var i = "";
//实例的each,封装了$.each
$(":checkbox:checked").each(function () {
i += $(this).val() + ",";
})
alert(i);
})
})
</script>
</head>
<body>
<input id="d1" type="text" disabled="disabled"><br>
<input id="d2" type="text" disabled="disabled"><br>
<input class="c1" type="text"><br>
<input class="c2" type="text"><br>
<input id="btn" type="button" value="click"><br>
<input class="bg" type="button" value="cl"><br>
<input type="button" value="cli"><br>
<!--<input type="checkbox" checked="checked"><br>-->
爱好:<br>
<input type="checkbox" name="c" value="w" > 玩
<input type="checkbox" name="c" value="cf" >吃饭
<input type="checkbox" name="c" value="sj">睡觉
<input type="checkbox" name="c" value="ddd " >打豆豆
<input type="checkbox" name="c" value="kds">看电视 <br>
性别:<br>
<input type="radio" name="sex" value="nan">男<br>
<input type="radio" name="sex" value="nv">女<br>
<input type="radio"><br>
<input type="radio"><br>
<input id="d4" type="text"><br>
<select name="name" id="d3">
<option selected="selected" value="">下拉1</option>
<option value="">下拉2</option>
</select><br>
密码:<input type="password" name="123" value="111" checked="checked"><br>
密码:<input type="password" name="234" value="111"><br>
密码:<input type="password" name="123" value="111"><br>
</body>
</html>