jquery小tip

1、判断复选框是否选中
推荐用DOM方式

var $cr = $('#cr');
var cr = $cr[0];
$cr.click(function(){
    if(cr.checked){          //DOM方式判断
        ....//处理
    }
    ------------------------------
    if($cr.is(":checed"){      //jquery方式
        ....//处理
    }
})

2、检测元素是否存在应该以元素长度判断,因为通过$(#cr)获取的永远是对象,if($(#cr))判断永远为真。
判断方法:

if($(#cr).length>0)
或者转化成DOM对象
if($(#cr)[0])

3、选择器:hidden(如:$("div:hidden"))不仅包括display为none的元素,也包括文本隐藏域(<input type="hidden"/>)和visibility:hidden

4、当某个节点用remove()方法删除后,该节点所包含的所有后代节点同时被删除。这个方法的返回值是一个指向已被删除的节点的引用,因此在以后可以再使用这个元素。

5、style属性最大的缺点就是无法取得外部CSS(外联CSS)设置的样式信息。

6、$(element).css("height");
      $(element).height();
通过css()获取的高度值与样式设置有关,可能会得到auto,也可能得到10px这样的字符串。
通过height()获取的高度值是元素在页面中的实际高度。

7、$(document).ready()方法内注册的事件,只要DOM就绪就会被执行,因此可能此时元素的关联文件未下载完,解决方法是load()方法。

$(window).load(function(){
    ...
})
window.onload = function(){
    ...
}

这两种方法等价。
注意,onload事件可以多次使用,但是后面的事件会覆盖前面的事件。

8、hover()方法是代替jQuery里的mouseenter和mouseleave,而不是mouseover和mouseout。

9、trigger()方法触发事件后,会执行浏览器默认操作。
      triggerHandler()方法触发绑定的特定事件,同时取消浏览器的默认操作。

10、如果同样的事件,有的是正常绑定,有的是绑定在命名空间内(element.on("click.plugin",function(){})),那么element.trigger("click");触发所有的click事件,而element.trigger("click!");触发所有不在命名空间的click事件。

11、利用链式实现多重动画时,注意css()方法并不会加入到动画队列中,而是立即执行,即使你将它写到后面

element.animate(..)
       .animate(..)
       .css(..)

解决方法是将css写进回调方法中来实现队列。

element.animate(..)
       .animate(.., function(){
           css(...);
       })

12、停止动画的stop方法stop([clearQueue],[gotoEnd]) ,clearQueue代表是否清空未执行的动画队列。gotoEnd代表是否直接将正在执行的动画跳转到末状态。
jQuery只能设置正在执行的动画的最终状态(gotoEnd),而没有提供直接到达未执行动画队列最终状态的方法。

13、Ajax请求开始时,会触发ajaxStart()方法的回调函数;当Ajax请求结束时,会触发ajaxStop()方法的回调函数。这些方法都是全局方法,无论在何处创建它们,只要有Ajax请求都会触发(变量提升)。如果想要某个Ajax请求不受全局方法影响,只要在$.ajax(options)将global参数置为false。.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值