JQuery
属性选择器:
属性选择器: [attribute] [attribute=value]// 属性等于 [attribute!=value]// 属性不等于 表单筛选器: $(":checkbox") //找到所有的checkbox属性 :text :password :file :radio :checkbox --按钮 :submit :reset :button --表单对象属性: :enabled :disabled :checked ( 选中) :seleted (select : 选中)
筛选器方法: 下一个元素: $('#id').next() --> $('#id').nextAll() $('#id').nextUntil() 上一个元素: $('#id').prev() $('#id').prevAll() $('#id').prevUntil() 父亲元素: $("#id").parent() $("#id").parents() // 查找当前元素的所有的父辈元素 $("#id").parentsUntil() // 查找当前元素的所有的父辈元素,直到遇到匹配的那个元素为止。 儿子和兄弟元素: $("#id").children();// 儿子们 $("#id").siblings();// 兄弟们 查找: find() 搜索所有与指定表达式匹配的元素 $("div").find('p') === $('div p') 筛选: filter() 筛选出与指定表达式匹配的元素集合。用于缩小匹配的范围 $('div').filter('.c1') === $('div.c1') .first() // 获取匹配的第一个元素 .last() // 获取匹配的最后一个元素 .not() // 从匹配元素的集合中删除与指定表达式匹配的元素 .has() // 保留包含特定后代的元素,去掉那些不含有指定后代的元素。 .eq() // 索引值等于指定值的元素
操作标签
操作标签: 1.样式操作: addClass();// 添加指定的CSS类名。 removeClass();// 移除指定的CSS类名。 hasClass();// 判断样式存不存在 toggleClass();// 切换CSS类名,如果有就移除,如果没有就添加 eG: css("color","red")//DOM操作:tag.style.color="red" $("p").css("color", "red"); //将所有p标签的字体设置为红色 2.位置操作: offset()// 获取匹配元素在当前窗口的相对偏移或设置元素位置 position()// 获取匹配元素相对父元素的偏移 scrollTop()// 获取匹配元素相对滚动条顶部的偏移 scrollLeft()// 获取匹配元素相对滚动条左侧的偏移 .offset()方法允许我们检索一个元素相对于文档(document)的当前位置。--》dom文档 和 .position()的差别在于: .position()是相对于相对于父级元素的位移。 ---》 父标签 2.1 尺寸: height() width() innerHeight() innerWidth() outerHeight() outerWidth()
文本操作
文本操作: html代码: html()// 取得第一个匹配元素的html内容 html(val)// 设置所有匹配元素的html内容 文本值: text() // 取得所有元素的内容 text(val) // 设置所有匹配元素的内容 值: val() : //取得第一个匹配元素的当前值 val(val): //设置所有匹配元素的内容 val([val1, val2])// 设置多选的checkbox、多选selected的值 $("[name='hobby']").val(['basketball', 'football']); $("#s1").val(["1", "2"]) 链式获取值: 调用对象的方法--, 返回对象本身-
属性操作
#属性操作: --》attr 静态获取属性值 attr(attrName)// 返回第一个匹配元素的属性值 attr(attrName, attrValue)// 为所有匹配元素设置一个属性值 attr({k1: v1, k2:v2})// 为所有匹配元素设置多个属性值 removeAttr()// 从每一个匹配的元素中删除一个属性 ---》prop 动态获取属性值 checkbox和radio(用户输入内容) prop() // 获取属性 removeProp() // 移除属性 prop和attr的区别: attr全称attribute(属性) prop全称property(属性) 虽然都是属性,但他们所指的属性并不相同,attr所指的属性是HTML标签属性,而prop所指的是DOM对象属性,可以认为attr是显式的,而prop是隐式的。 attr的局限性,它的作用范围只限于HTML标签内的属性,而prop获取的是这个DOM对象的属性,选中返回true,没选中返回false。(能看到的属性和自定义属性) 对于返回布尔值的比如checkbox、radio和option的是否被选中都用prop。
文档处理
文档处理:--》换位 ,添加,删除,替换,复制 添加到指定元素内部的后面: $(A).append(B)// 把B追加到A $(A).appendTo(B)// 把A追加到B 添加到指定元素内部的前面: $(A).prepend(B)// 把B前置到A $(A).prependTo(B)// 把A前置到B 添加到指定元素外部的后面: $(A).after(B)// 把B放到A的后面 $(A).insertAfter(B)// 把A放到B的后面 添加到指定元素外部的前面: $(A).before(B)// 把B放到A的前面 $(A).insertBefore(B)// 把A放到B的前面 移除和清空元素: remove()// 从DOM中删除所有匹配的元素。 empty()// 删除匹配的元素集合中所有的子节点。 替换: replaceWith() replaceAll() 克隆: clone()// 参数 // clone方法加参数true,克隆标签并且克隆标签带的事件 // clone方法不加参数true,克隆标签但不克隆标签带的事件
事件
事件: 1.常用事件: click(function(){...}) --》点击 hover(function(){...})---》浮动 blur(function(){...})--》失去焦点 focus(function(){...}) --》聚焦 change(function(){...}) --》改变内容 keyup(function(){...}) --》 松开键盘 2。事件绑定: 结构: .on( events [, selector ],function(){}) 第一种语法结构: $(选择器).事件名(function(){ // 事件代码 }) 第二种语法结构 用处更广 $(选择器).on('事件名',function(){ // 事件代码 }) 3.移除事件: .off( events [, selector ][,function(){}]) off() 方法移除用 .on()绑定的事件处理程序 4.阻住后续事件的执行: 1. return false 2.e.preventDefault() -->e:function(e) 注意: 像click、keydown等DOM中定义的事件,我们都可以使用`.on()`方法来绑定事件,但是`hover`这种jQuery中定义的事件就不能用`.on()`方法来绑定了。 5.阻止事件冒泡: --》当执行div标签内的span便签,则可以有树节点网上执行 $("span").click(function (e) { alert("span"); e.stopPropagation(); }); --》e.stopPropagation() : 只在本标签执行,不会往上 6.页面载入: DOM载入就绪可以查询及操纵时绑定一个要执行的函数。是事件模块中最重要的一个函数,可以极大地提高web应用程序的响应速度。 $(document).ready(function(){ // 在这里写你的JS代码... }) 简写: $(function(){ // 你在这里写你的代码 }) 与window.onload的区别: window.onload()函数有覆盖现象,必须等待着图片资源加载完成之后才能调用 jQuery的这个入口函数没有函数覆盖现象,文档加载完成之后就可以调用(建议使用此函数 7.事件委托: --事件委托是通过事件冒泡的原理,利用父标签去捕获子标签的事件 表格中每一行的编辑和删除按钮都能触发相应的事件。 $("table").on("click", ".delete", function () { // 删除按钮绑定的事件 })
来源:https://www.cnblogs.com/shaozheng/p/11891527.html