遍历元素
jQuery隐士迭代是对同一元素做了同样的操作,若想对同一元素做不同操作,则要用到遍历。此方法用于遍历jQuery中的每一项,回调函数中元素为DOM对象,想要使用jQuery方法需要转换。
$("div").each(function (index,domEle){ xxx;});$.each(); //可用于遍历任何对象1.创建$(""); //动态创建了一个2.内部添加element.append("内容"); //把内容放入匹配元素内部最前面element.prepend("内容"); //把内容放入匹配元素内部最前面element.after("内容"); //把内容放入到目标元素后面element.before("内容"); //把内容放入到目标元素前面内部添加元素,生成之后,他们是父子关系外部添加元素,生成之后,他们是兄弟关系3.删除元素element.remove(); //删除匹配的元素(本身)element.empty(); //删除匹配的元素集合中所有的子节点element.html(""); //清空匹配的元素内容element.empty();与emelent.html();等价,只不过html还可以设置内容
jQuery尺寸操作
width()/height() //元素的width、heightinnerWidth()/innerHeight() //包含paddingouterWidth()/outerHeight() //包含padding、borderouterWidth(true)/outerHeight(true) //包含padding、border、margin
以上参数为空,则是获取相应值,返回的是数据类型
如果参数为数字,则是修改相应值
参数可以不必写单位
jQuery位置操作
1.offset(); //设置或获取元素偏移(相当于文档的偏移坐标,根父级无关)属性值lefttopoffset().top;offset({top: 10,left: 30});2.position(); //获取元素偏移(带有定位的父级偏移坐标,若父级没有,则以文档为准)属性值lefttopposition().top; // 该方法只能获取3.scrollTop()/scrollLeft() //设置或获取元素被卷去的头部和左侧scrollTOP()方法设置返回被选元素的被卷去的头部,不跟参数是获取,参数为不带单位的数字,是获取被卷去的头部
jQuery事件注册
优点:操作简单且不用担心事件覆盖等问题
缺点:普通的事件注册不能做事件委托,且无法实现事件绑定,需要借助其它方法
语法:
element.事件(
function(){}
)
$("div").click{
function(){
事件处理程序
}
}
jQuery事件处理
on(): 用于事件绑定,目前最好的事件绑定方法
off(): 事件绑定
trigger()/triggerHandler(): 事件触发
优点
可以绑定多个事件,多个处理事件处理程序
如果事件处理程序相同
可以事件委派操作,事件委派定义是,把原来加给子元素身上的事件绑定在父元素身上
动态创建的元素,click()没有办法绑定事件,on()可以给动态生成的元素绑定事件
$("p").off(); 解绑p元素所有事件处理程序
$("p").off("click") 解绑p元素上面的点击事件
$("ul").off("click","li"); 解绑事件委托,如果有的事件只想触发一次,可以使用one()来绑定事件
trigger()element.click() //第一种简写形式element.trigger("type") //第二种自动触发模式triggerHandler()element.triggerHandler(type) //第三种自动触发模式triggerhandler模式不会触发元素的默认行为,这是和前面两种的区别
jQuery事件对象
事件被触发,就会有事件对象产生
element.on(events.[selector],function(event){}) 阻止默认行为:event.preventDefault()或者return false
阻止冒泡:event.stopPropagation()
jQuery中的event对象使用,可以借鉴API和DOM中的event。