辛苦堆砌,转载请注明出处,谢谢!
最近开始学习jQuery,把自己学到的东西整理一下,记成笔记,方便查阅。
1.当其他JS库与jQuery的$(...)符号重复时,可以使用jQuery的noConfilict()方法修改符号,这里注意EL表达式是${...},不会冲突。
<script type="text/javascript">
var jq = jQuery.noConfilict();
jq(document).ready(function() {
.....
});
</script>
<script type="text/javascript">
var jq = jQuery.noConfilict();
jq(document).ready(function() {
.....
});
</script>
<script type="text/javascript">
var jq = jQuery.noConfilict();
jq(document).ready(...);
</script>
第二段中的ready中的代码,不能保证在页面加载之后执行,而是看你代码的放置位置。
3.上面ready调用的简化写法如下,即等价于$(document).ready(function() {...})
<script type="text/javascript">
$(function() {
...
});
</script>
4.我们可以延迟ready调用的时机,在脚本开始调用$.holdReady(true);,在希望激活ready时,调用$.holdReady(false);
5.jQuery的元素从0开始计数,也就是第一个元素的索引为0.
6.当选择器效率不够快时,不要急着优化jQuery的选择器,多审视一下我们的html,尽可能减少前端浏览器的处理。
7.可以选择开始进行主选择的起点,通过使用上下文选择器,$("主选择器", "上下文选择器"),jQuery会先按照上下文选择器,选择合适的元素,在对这些元素应用主选择器。注意和$("选择器1 选择器2")区分,后者是满足两个选择器。
8.jQuery对象实际上是0个或多个DOM元素的集合。调用方法修改jQueery内元素的方法,返回的结果也是一个jQuery对象,所以可以进行链式调用。这是一个很核心的概念,记住这个再去看jQuery,能帮助理解很多东西。
9.将DOM对象传递给$(DOM对象)就可以转换为jQuery对象。把jQuery对象当做DOM数组,利用toArray或者[]可以访问jQuery中封装的DOM对象。利用$(...).each(function(index, element) {...})则可以迭代处理jQuery对象中的DOM对象。
10.注意index以字符串作为参数时的选择顺序,下面的代码是等价的,不过第一种理解更顺畅。
var elements = $("body *")
index = elements.index($("#myIndex"))
var elements = $("#myIndex")
index = elements.index("body *")
11.选择元素相关的方法:
向一个jQuery对象中添加新的元素——add
过滤jQuery对象中的元素——eq,filter,,first,last,has,not,slice
以映射方式处理结果集——map
检测结果集是否包含某个元素——is
修改或者回退结果集——end,addBack
访问后代元素——children,find,contents
访问祖先元素——parent(父元素),parents,parentsUntil,closest,offsetParent
访问兄弟元素——next,nextAll,nextUntil,prev,prevAll,prevUntil,siblings
![](https://img-my.csdn.net/uploads/201612/08/1481201471_6133.png)