- 版本:1.3.1 width()函数取隐藏元素的css width属性,返回的值是0。
- 对jQuery对象集合的操作,会自动轮询到每个子对象上,这和操作【DOM对象集合】操作时不同的地方。
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<div>/*测试对“DOM对象集合”和“jQuery对象集合”的操作*/</div>
<button>1</button><button>2</button><button>3</button><button>4</button><button>5</button>
<script>
var oList=document.getElementsByTagName("button");
//无效
oList.innerHTML="";
//无效,不会自动给每个子对象绑定事件
oList.onclick=function(){alert(this.innerText)};
//制定为某子对象后,才有效
oList[0].onclick=function(){alert(this.innerText)};
//测试addEvents
/**/
$(function(){
//jquery对象集合 会自动给每个子对象 绑定事件
//有效
//$('button').html('test');
//有效
//$('button').click(function(){alert(this.innerText)});
//使用each也有效,效果等于上面那句
$('button').each(function(){
$(this).click(function(){alert(this.innerText)});
});
});
</script> - 自版本1.2.6起,.getJSON支持JSONP(有条件的跨域解决方案,需要服务器端配合)
-
自版本1.2.6起,.getScript支持跨域
-
1.3.1版的.getScript并非能总是执行引用的.js(待进一步研究),最好在回调函数里面用eval()执行一下
-
创建一个 <input> 元素必须同时设定 type 属性。因为微软规定 <input> 元素的 type 只能写一次。
// 在 IE 中无效:
$("<input>").attr("type", "checkbox");
// 在 IE 中有效:
$("<input type='checkbox'>"); -
jQuery一个古老的问题:通过html()、append()等方法动态插入的dom,无法立即通过$()选择器取到……IE下总是可以,Firefox下经常失灵,偶尔可以取到,估计是“即便做了window.onload判断,firefox的高速缓存仍然会导致js可以先于dom重构完成之前运行(这个说法源自jQuery之父John Resig的《精通Javascript》)”。比如:
Code
-
1.3.2 jQuery。从源代码来看remove()是会删除DOM上所绑定的事件的。但是不能删除通过live委派(委托)的事件。所以慎用live