通过时间不短的学习,对于jQuery的设计思路有了一定的理解,不得不说作为寿命最长的 js 函数库,jQuery 更方便学习者入门,但想要掌握 jQuery 属实不轻松。
学习各种函数库的过程,不仅仅是学习函数的使用方法那么简单,真正能够提升自己的东西,实际是这些函数库的作者在设计它们的时候的思路,于是我尝试按照以下顺序,将这些函数的思路和步骤做一次总结:
-
获取元素
-
创建元素
-
移动元素
-
修改元素属性
-
链式操作怎样实现
获取元素
获取元素是 jQuery 的基本设计思想,实际就是选择某一个或多个网页元素,然后对元素进行操作。
何以使用 CSS 选择器的表达式来选择元素:$('#id')和$'div.class')等。
也有 jQuery 所特有的表达式:$('a:first') 和$('tr:odd')等。(可以查阅阮一峰--《jQuery 设计思想》)
创建元素
jQuery 中,创建元素的方法较为简单,只需要将新元素传入 jQuery 构造函数即可。
例:
$('<p>Hello</p>');
$('<li class="new">new list item</li>');
$('ul').append('<li>list item</li>');
。。。。。。就这么简单。
移动元素
jQuery 中,可以通过两种方法来移动网页中元素的位置,一种为直接移动该元素至目标位置,另一种为移动其他元素使该元素达到目标位置。
例如:
$('div').insertAfter($('p')); //将div元素移动到p元素后面
$('p').after($('div')); //将p元素移动到div元素前面
从效果上来说两种方法是相同的,不同点在于操作结束后返回的元素不同,前者返回 div,后者返回 p,根据需求选择方法即可。
修改元素属性
使用 jQuery 修改元素属性,实际就是使用 js 中 setAttribute()和 getAttribute()的简化,使用方式有四种:
$('selector').attr('attribute')//查看被选择元素的属性值。
$('selector').attr('attribute','value')//设置被选择元素的属性值(有则修改,无则添加)
$('selector').attr('attribute:value','attribute:value')//为被选择元素设置多对属性值
$('selector').attr('attribute',function(index,oldvalue))//使用函数的返回值来设置被选择元素的属性值
链式操作
在选中网页元素后,可以对这个元素进行一连串的操作,这些操作能够以链条形式写出来。
例如:
$('div').find('h1').addClass('red').addClass('green').html('hi').end().find('h3').html('hello');
步骤为:找到 div 元素
→ 找到其中的 h1 元素
→ 给这个元素添加类名“red”(此时 h1 的 class='red')
→ 再给这个元素添加类名“green”(此时 h1 的 class 变为了'red green')
→ 将 h1 元素的内容改为“hi”
→ 返回原则到 h1 的那一步
→ 找到 h3 元素
→ 将 h3 元素的内容改为“hello”
这就是 jQuery 最神奇的地方所在,也是非常方便的一个特点。
原理:在每一步 jQuery 操作结束后,返回的都是一个 jQuery 对象(由 jQuery 函数构造出的对象),所以不同的操作可以联系在一起。
end():jQuery 提供的一个很方便的方法,可以将结果集后退一步。
暂时就记录这么多吧,希望以后有用。