使用jQuery时的思路

181 阅读2分钟

通过时间不短的学习,对于jQuery的设计思路有了一定的理解,不得不说作为寿命最长的 js 函数库,jQuery 更方便学习者入门,但想要掌握 jQuery 属实不轻松。

学习各种函数库的过程,不仅仅是学习函数的使用方法那么简单,真正能够提升自己的东西,实际是这些函数库的作者在设计它们的时候的思路,于是我尝试按照以下顺序,将这些函数的思路和步骤做一次总结:

  1. 获取元素

  2. 创建元素

  3. 移动元素

  4. 修改元素属性

  5. 链式操作怎样实现


获取元素

获取元素是 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 提供的一个很方便的方法,可以将结果集后退一步。

暂时就记录这么多吧,希望以后有用。