jquery节点操作
创建节点
$()里面放html标签字符串
添加节点
append 往父级元素内部的最后面追加子元素
1 | // parantNode.append(childNode) |
appendTo 子元素追加到父级元素内部的最后面
1 | // childNode.appendTo(parentNode) |
prepend 往父级元素内部的最前面追加子元素
1 | // parantNode.prepend(childNode) |
prependTo 子元素追加到父级元素内部的最前面
1 | // childNode.prependTo(parantNode) |
before 追加到元素的前面(同级)
1 | var siblingDiv = $("<div class='siblingDiv'></div>") |
after 追加到元素后面(同级)
1 | // 原有的元素.after(新加元素) |
删除和清空节点
remove()
- 删除自身,内部子元素一并删除
empty()
- 清空内部所有元素,不包括自身
克隆节点
clone()
- 参数默认false
- 参数false:克隆标签元素等
- 参数true:深度克隆 包括事件
jquery特殊属性操作
val()
设置和获取表单元素的值,如text,textarea等等
html()和text()
- html() 相当于 innerHtml
- text() 相当于 innerText
width(),height(),innerWidth(),outerWidth(),innerHeight(),outerHeight()
width()
- 无参数:获取元素width
- 有Number类型参数:设置width
innerWidth()
- 获取元素panding和width
outerWidth()
- 无参数,参数默认是false时:获取元素pading和border和width
- 参数是true时:获取元素pading和border和width和margin
height()
- 无参数:获取元素高度
- 有Number类型的参数:设置height
innerHeight()
- 获取元素padding和height
outerHeight()
- 无参数,默认参数是false时: 获取元素padding和border和height
- 参数是true时:获取元素padding和border和height和margin
scrollTop()和scrollLeft()
- scrollTop() 获取被卷曲的高度, 可设置卷曲高度
- scrollLeft() 获取被卷曲的宽度,可设置卷曲高度
js相关的屏幕滚动
- window.pageYOffset
- window.pageXOffset
- 以屏幕左上角为基准获取卷曲宽高—-只读
- document.documentElement.scrollTop
- document.documentElement.scrollLeft
- 这两个属性可读可写
- $(window) 不支持的动画,可用$(‘html’)
position()和offset()
- offset方法和position方法都是用来获取盒子的位置的 left和top
- offset() 相对于文档的位置 返回对象 {left:100,top:100}
- position() 获取相对于自身最近的父元素的位置 offsetLeft和offsetTop
- 都是返回一个对象
事件注册
简单注册方式
click(func) / mouseenter(handler) / mouseleave(handler)
缺点: 不能注册多个事件
bind注册 (内部是on实现)
$("p").bind("click mouseenter", function(){});
缺点:不支持动态事件绑定
delegate 事件委托(内部是on实现)
- 让某一个元素做代理,代处理后代中某一类元素的事件
- 核心原理:利用事件冒泡,只指定一个事件(绑定给父级)处理程序来管理某一类型的所有事件(绑定给后代)。缺点:只能注册委托事件
1
2
3
4
5
6// 第一个参数:selector,要绑定事件的元素
// 第二个参数:事件类型
// 第三个参数:事件处理函数
$(".parentBox").delegate("p", "click", function(){
// 给.parentBox下面的所有的p标签绑定事件
});
on注册事件
- jQuery1.7之后,jQuery用on统一了所有事件的处理方法。
- 最现代的方式,兼容zepto(移动端类似jQuery的一个库),强烈建议使用。
on注册简单事件
1 | // 表示给$(selector)绑定事件,并且由自己触发,不支持动态绑定。 |
on注册委托事件
1 | // 表示给$(selector)绑定代理事件,当必须是它的内部元素span才能触发这个事件,支持动态绑定 |
on注册事件的语法
1 |
|