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。.