1 attr("checked","checked") 2.0以后的版本使用该函数改变checkbox的状态不会生效(或者只会生效一次)解决办法有两种,1) 使用prop方法,2)使用this.checked="checked"
2 removeProp("checked") 使用该函数并不能改变checkbox的状态,解决办法有1)removeAttr("checked"), prop("checked",false)
3 $(dom).animate({scroll:...});在IE浏览器下报错,原因是IE下没有scroll属性,解决办法可以用scrollTop替代scroll
4 new Date("2012-12-26 14:32:02");在Firefox下是不能转换的,但是new Date("2012/12/26 14:32:02");在Firefox和Chrome下都能转换
5 this变化
var a={
func:function(){
console.log(this);
},
b:function(){
var $this = this, f=$this.func;
f();//打印出来的是window对象
f.call($this);//打印出来的是a对象
$this.func();//打印出来的是a对象
}
}
6 $.each(arr,func); func函数return true, 则each函数continue,继续循环, return false则each函数break,跳出循环
7 $(“body”).scrollTop(0)在firefox中无效, 要使能在firefox中生效,要$(“html,body”).scrollTop(0)
8 jquery的tmpl插件的bug:当你的页面中的某个元素的id和${}中的替换变量相同时,如果你传入的data没有该字段,${}会将上文id与其字段相同的元素作为替换的值。
假设上文中有如下html:
<div id="a"></div>
<p id="b"></p>
假设jquery的模板如下:
<script type="text/x-jquery-tmpl" id="tpl">
<span>${a}</span>
<span>${b}</span>
</script>
如果使用
$.tmpl($('#tpl').html(),{});
则会出现如下结果:
<span>[obj HTMLDivElement]</span>
<span>[obj HTMLParagraphElement]</span>
9 数字toString()
123.toString() //SyntaxError: Unexpected token ILLEGA
123..toString()//"123"
123 .toString() //"123"
.123.toString()//"0.123"
10. document.querySelectorAll(":checked") 会取得select中选中的option, 导致jquery中 $(":checked")也会取得select中选中的option。 不知道是bug还是故意这么设计的。
11. text()获取,html()填充问题
<div><span>hello word </span></div>
以上代码用text获取,html填充之后
var str = $('div').text();
$(selector).html(str);
会把<和&给>转成<和>,即
<div><span>hello word</span></div>
12 extend的问题
var a={x:1,y:2};
var b = $.extend(true/false, a,{x:3}); //b=a={x:3,y:2};
var a={x:1,y:2};
var b = $.extend({},a,{x:3}); //a={x:1,y:2}, b={x:3,y:2}
欢迎关注作者的微信公众号:中国IT热点 (ID: xiunen_z)