收集一组元素,可以使用如下简单的语法:
$(selector)或者jQuery(selector)
也许刚开始你会觉得$()符号有点奇怪,但大部分jQuery用户很快就喜欢上它的简洁。
例如,为了获取嵌套在<p>元素内的一组连接,我们使用如下语句:
$("p a")
$()函数(jQuery()函数的别名)返回特别的JavaScript对象,它包含着与选择器相匹配的DOM元素的数组。该对象拥有大量预定义的有用方法,能够作用于该组元素。
用编程的话来说,这种构造称为包装器(wrapper),因为它用扩展功能来对匹配的元素进行包装。我们使用术语jQuery包装器或者包装集(wrapped set),来指能够在其上用jQuery定义的方法去操作的、匹配元素集合。
假定我们想让带有CSS类notLongForThisWorld的所有<div>元素呈现淡出效果。jQuery语句如下:
$("div.notLongForThisWorld").fadeOut();
经常作为jQuery命令引用的许多这类方法的显著特征是,当完成了一个操作(比如淡出操作)时,它们返回相同的一组元素,提供给下一个操作。如,假定除了让元素呈现淡出效果之外,还想添加新的CSS类removed到每个元素。编写如下代码:
$("div.notLongForThisWorld").fadeOut().addClass("removed");
这些jQuery链可以无限延续。任由jQuery链无限制地延续的话,你发现包含长达几十个命令的例子并不罕见。因为imeige书都作用在与最初的选择器相匹配的全部元素之上,所以没有必要循环遍历元素数组。
即使选中的对象组被表现为非常复杂的JavaScript对象,如有必要也可以假定它是典型的元素数组。因此以下两个语句产生相同的结果:
$("#someElement").html("I have added some text to an element");
或
$("#someElement")[0].innerHTML="I have added some text to an element";
因为使用了ID选择器,所以只有一个元素与选择器相匹配。第一个示例使用jQuery的html()方法,将DOM元素的额内容用某些HTML标记去替换。第二个示例使用jQuery获取元素数组,用数组下标0去选择第一个元素,然后使用通常的JavaScript方式来替换该元素的内容。
如果想用能匹配多个元素的选择器来获取同样的结果,那么以下两个片段产生一致的结果:
$("div.fileMeIn").html("I have added")
待续...