1 jQuery简介
1.1 jquery的特点
轻量级
强大
链式语法
简单
易扩展
....
1.2 jquery的导入
本地导入
我们可以百度搜索jquery,可以搜到jquery的官方网站:https://jquery.com/ 下载jquery文件
<script src="本地jquery文件路径"></script>
<script>
//在此书写你的jquery代码
</script>
也可以通过在线的jquery 直接src写入在线的地址
1.3 如何使用jquery
1.3.1 引入jquery文件
1.3.2 入口函数
jq与js入口函数对比
- js等页面所有资源加载完成后才能执行
- jq等待文档树加载完成开始执行
1.4 jq事件的链式写法
必须使用$(this)将他转换为jq对象
1.5 jq
1.5.1 什么是jq对象
使用jq的方式获取到的元素就是jq对象
1.5.2 jq和Dom对象之间的转换
var doc2=$("#idDoc2")[0];
//转换jQuery对象为DOM对象
doc2.innerHTML="这是jQuery的第一个DOM对象"
//使用jQuery对象本身提供的get函数来返回指定集合位置的DOM对象
var doc2=$("#idDoc2").get(0);
doc2.innerHTML="这是jQuery的第二个DOM对象"
2 jquery查找标签
jquery对标签的查找完全可以复用选择器规则
2.1 基本选择器
2.1.1 标签选择器
$('p') 标签选择器
$('.para1') 类选择器
$('#container') id选择器
$('*') 通用选择器
$('p.para1') 交集选择器
$('div,p') 并集选择器
2.1.2 层级选择器
$(div p) 后代选择器 : 找到子孙中符合条件的
$(div>p)子代选择器 : 找子代中符合条件的
$(div+p)毗邻选择器 : 找紧邻的下一个
$(div~p)弟弟选择器 : 找某一个标签下的所有xxx标签
2.1.3 属性选择器
$('[属性名]') $('[href]')
$('[属性名='属性值']') $('[href='http://www.baidu.com']')
$('[属性名^='属性值']') $('[href^='http') ^ 开头
$('[属性名$='属性值']') $('[href$='com') $ 结尾
$('[属性名*='属性值']') $('[href*='baidu') * 包含
$('[属性名!='属性值']') $('[href!='baidu') !不等于
3 基本过滤选择器
3.1 筛选器
$(选择器:筛选器)
根据索引筛选
$('p:first')
$('p:last')
$('p:even')
$('p:odd')
$('p:eq(index)')
$('p:gt(index)')
$('p:lt(index)')
not 筛选不包含某选择器要求的xxx
$('p:not(.para3)')
has 通过子代找当前
$('li:has(a)')
表单筛选器,根据type进行筛选
$('input:type类型:选中情况')
$('input:radio:checked')
$('input:text:disabled')
$('input:text')
$('input:password')
input中没有date筛选器
$(':selected')
$('option:selected')
3.2 标签的筛选方法
兄弟 : siblings()
弟弟 : next() nextAll() nextUntil()
哥哥 : prev() preAll() prevUntil()
祖辈 :parent() parents() parentsUntil()
子 :children()
contains()
3.3过滤方法
.first()
.last()
.eq(index)
.not(' disable')
.filter('.para1')
.find('a')
.has('a')
操作标签的增 删 改 复制
增
父子关系
append appendTo
jq.append(dom对象/jq对象/写好的标签字符串) 表示在jq对象中添加一个标签
jq对象.appendTo(父级标签选择器/标签字符串/jq对象/dom对象)
prepend prependTo
父jq对象.prepend(子元素)
子jq对象.prependTo(父元素)
兄弟关系
after insertafter
旧.after(新)
新.insertafter(旧)
before insertbefore
旧.before(新)
新.insertbefore(旧)
删
remove 删除标签也删除事件
detach 删除标签但不删除事件
empty 清空标签内的子标签
改
旧的.replacewith(新)
新的.replaceAll(旧)
复制
clone() 单纯的克隆标签但不克隆事件
clone(true) 克隆标签包括标签所带事件
4 操作标签的文本
jq.text('要写的文本')
jq.html('要写的标签内容')
操作标签的属性
attr('class') 获取当前class的值
attr('class','value') 设置class的值
removeAttr('readonly') 删除readonly属性
prop('checked') 选中返回true 没选中返回false
操作标签的类
addclass('类名') 添加一个类
removeclass('类名') 删除一个类
toggleclass('类名') 有就删除 没有就添加
操作标签的值 - 针对表单标签
val() 如果不传参数表示获取value属性的值
val(值) 如果传参数,表示设置value属性的值
$(':checkbox').val([2])
对于radio\checkbox\select标签,所有的修改选中的状况都需要把要选中的值放到数组中
操作标签的css样式
css('样式名')
css('样式名','样式值')
css({'样式名':'样式值'})
jq绑定事件
'''<body>点击</body>
<script> $('button').click( function () { alert('click') })</script>
'''