jQuery
什么是jQuery
- 是一个js语言写的关于js的框架
- 可以让程序员写的更少 但实现的更多
jQuery优势
- 简化js代码
- 可以像CSS一样获取元素
- 可以直接修改元素的样式
- 解决部分兼容性问题
-
CSS写法
.class{
color:red;
}
-
JS写法
var arr = document.getElementsByClassName("class");
for(var i=0;i<arr.length;i++){
arr[i].style.color = "red";
}
-
jq写法
$(".class").css("color","red");
选择器
基本选择器
-
标签名选择器
$("div") 匹配页面中所有的div
-
id选择器
$("#id")
-
类选择器
$(".class")
-
分组选择器
$("div,#id,.class")
-
任意元素选择器
$("*")
层级选择器
- $("div span") 匹配div下所有的span
- $("div>span") 匹配div的所有span子元素
- $("div+span") 匹配div的span弟弟元素
- $("div~span") 匹配div的span弟弟们元素
层级方法
- 当得到某一个元素之后可以通过调用以下方法获得该元素的相关元素
-
获取元素的兄弟元素
$("#abc").siblings("span"); //得到id为abc元素的所有兄弟元素
-
获取元素的哥哥元素
$("#abc").prev();
-
获取元素的哥哥们元素
$("#abc").prevAll();
-
获取元素的弟弟元素
$("#abc").next();
-
获取元素的弟弟们元素
$("#abc").nextAll();
过滤选择器
- $("div:first") 匹配所有div中的第一个
- $("div:last") 匹配所有div中的最后一个
- $("div:even") 匹配所有div中的所有偶数 从0开始
- $("div:odd") 匹配所有div中的所有奇数 从0开始
- $("div:eq(n)") 匹配所有div中下标为n的元素 从0开始
- $("div:lt(n)") 匹配所有div中下标小于n的元素
- $("div:gt(n)") 匹配所有div中下标大于n的元素
- $("div:not(.abc)") 匹配所有div中 class值不为abc的所有元素
内容选择器
- $("div:has(p)") 匹配所有包含p子元素的div
- $("div:empty") 匹配所有空的div
- $("div:parent") 匹配所有非空的div
- $("div:contains('abc')") 匹配所有包含abc文本的div
可见选择器
- $("div:hidden") 匹配所有隐藏的div元素
- $("div:visible")匹配所有显示的div元素
- 隐藏显示相关的方法
- $("#abc").hide();//隐藏
- $("#abc").show();//显示
- $("#abc").toggle(); //隐藏显示切换
属性选择器
- $("div[id]") 匹配所有包含id属性的div
- $("div[id='abc']") 匹配所有id=abc 的div
- $("div[id!='abc']") 匹配所有id不等于abc的div
子元素选择器
- $("div:first-child") 匹配是子元素 并且是第一个div子元素
- $("div:last-child") 匹配是子元素 并且是最后一个div子元素
- $("div:nth-child(n)") n从1开始 匹配是子元素并且是第n个div子元素
表单选择器
- $(":input") 匹配form表单中的所有控件 包括:文本框 密码框、单选、多选、下拉选 等
- $(":password") 匹配所有密码框
- $(":radio")匹配所有单选
- $(":checkbox")匹配所有多选
- $(":checked") 匹配所有选中的单选、多选、下拉选
- $("input:checked") 匹配所有选中的单选和多选
- $(":selected") 匹配所有选中的下拉选
js对象和jq对象互相转换
- js对象转jq var jq = $(js);
- jq对象转js var js = jq[0];
jq的文档相关操作 DOM相关
-
创建元素
var js = document.createElement("div");
var jq = $("
abc
");
-
添加元素
$("#big").append(myh1);
- 插入元素
- 弟弟元素.before(新元素)
- 哥哥元素.after(新元素)
-
删除元素
$("#id").remove();
-
css样式相关
- 获取样式值 var color = $("#id").css("color");
-
设置样式 $("#id").css("样式名称","值");
$("#id").css({"width":"100px","height":"200px"});
- 文本相关
-
获取元素的文本内容
$("#id").text();
-
给元素文本赋值
$("#id").text("内容");
- html相关
-
获取元素的html内容
$("#id").html();
-
给元素html赋值
$("#id").html("
hehe
");
- 属性相关
-
获取元素的属性值
$("#id").attr("class");
-
给元素添加或修改属性值
$("#id").attr("class","值");
课程回顾
- 选择器
-
基础选择器
- 标签名
- id
- class
- 分组
- 任意元素
-
层级选择器
- 子孙后代 div p
- 子元素 div>p
- 弟弟 div+span
- 弟弟们 div~span
- 兄弟元素 .siblings()
- 哥哥 .prev()
- 哥哥们 .prevAll()
- 弟弟 .next()
- 弟弟们 .nextAll()
-
过滤选择器
- 第一个 div:first
- 最后一个 div:last
- 偶数 div:even
- 奇数 div:odd
- 第n个 div:eq(n)
- 小于n div:lt(n)
- 大于n div:gt(n)
- 不包含 div:not(.abc)
-
内容选择器
- 包含子元素 div:has(p)
- 空元素 div:empty
- 非空元素 div:parent
- 包含文本 div:contains('aaa')
-
可见选择器
- 可见 div:visible
- 隐藏 div:hidden
- 隐藏方法 .hide()
- 显示方法 .show();
- 隐藏显示切换 .toggle()
-
属性选择器
- 包含id属性 div[id]
- id值等于abc div[id='abc']
- id值不等于 div[id!='abc']
-
子元素选择器
- 是子元素并且是第一个div子元素 div:first-child
- 是子元素并且是最后一个div子元素 div:last-child
- 是子元素并且是第n个div子元素 div:nth-child(n)
-
表单选择器
- form表单所有控件 :input
- 密码框 :password
- 单选 :radio
- 多选 :checkbox
- 选中的单选多选下拉选 :checked
- 选中的单选和多选 input:checked
- 选中的下拉选 :selected
- 文档相关
-
样式 jq.css("样式名称","值")
jq.css({"xxx":"123","yyy":"456"})
- 文本 jq.text() jq.text("abc");
- html jq.html() jq.html("
abc
")
- 属性 jq.attr("class") jq.attr("class","值")
- 创建元素 var jq = $("")
- 添加元素 父元素.append(jq);
- 插入元素 兄弟元素.before/after(jq);
- 删除元素 jq.remove();
- 获取元素的子元素 .children()