jQuery常用函数

each()

为每个匹配元素规定要运行的函数,返回 false 可用于及早停止循环。

$("button").click(function(){
    $("li").each(function(){
        alert($(this).text())
    });
});      输出每个 <li> 元素的文本

map()

用于使用指定函数处理数组中的每个元素(或对象的每个属性),并将处理结果封装为新的数组返回。
注:

  1. 在jQuery 1.6 之前,该函数只支持遍历数组;从 1.6 开始,该函数也支持遍历对象。
  2. map()还会为函数传入两个参数:其一是当前迭代的元素或属性值,其二是当前迭代项的数组索引或对象属性名。
  3. 该函数返回值将作为结果数组中的一个元素,如果返回值为null或undefined,则不会被添加到结果数组中。
$('div').map(function(i, ele){
    return this.id;
});

extend()

用于将一个或多个对象的内容合并到目标对象。

  1. 如果只为$.extend()指定了一个参数,则意味着参数target被省略。此时,target就是jQuery对象本身。通过这种方式,我们可以为全局对象jQuery添加新的函数。
  2. 如果多个对象具有相同的属性,则后者会覆盖前者的属性值。
<div id="log"></div>
<script>
$(function () { 
    var object1 = {
        apple: 0,
        banana: {weight: 52, price: 100},
        cherry: 97
    };
    var object2 = {
        banana: {price: 200},
        durian: 100
    };
    /* object2 合并到 object1 中 */
    $.extend(object1, object2);
    var printObj = typeof JSON != "undefined" ? JSON.stringify : function(obj) {
        var arr = [];
        $.each(obj, function(key, val) {
            var next = key + ": ";
            next += $.isPlainObject(val) ? printObj(val) : val;
            arr.push( next );
        });
        return "{ " +  arr.join(", ") + " }";
    };
    $("#log").append( printObj(object1) );
})
</script>   遍历数组元素,并修改第一个对象

clone()

生成被选元素的副本,包含子节点、文本和属性。

$("button").click(function(){
    $("p").clone().appendTo("body");
});   克隆所有的 <p> 元素,并插入到 <body> 元素的结尾

index()

返回指定元素相对于其他指定元素的 index 位置。

  1. 没参数返回第一个元素index
  2. 如果参数是DOM对象或者jQuery对象,则返回参数在集合中的index
  3. 如果参数是选择器,返回第一个匹配元素index,没有找到返回-1
$("li").click(function(){
alert($(this).index());
});   获得被点击的 <li> 元素相对于它的同级元素的 index

ready()

当 DOM(document object model 文档对象模型)加载完毕且页面完全加载(包括图像)时发生 ready 事件。由于该事件在文档就绪后发生,因此把所有其他的 jQuery 事件和函数置于该事件中是非常好的做法。如上面的实例所示。ready() 方法规定当 ready 事件发生时执行的代码。

$(document).ready(function(){
    $("button").click(function(){
        $("p").slideToggle();
    });
});   使用 ready() 来使函数在文档加载后是可用的
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 概要 64学时 3.5学分 章节安排 电子商务网站概况 HTML5+CSS3 JavaScript Node 电子...
    阿啊阿吖丁阅读 9,372评论 0 3
  • 常用方法 .each(function(index.Element)) 遍历一个jQuery对象,为每个匹配元素执...
    PYFang阅读 455评论 0 0
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,406评论 0 2
  • 1.JQuery 基础 改变web开发人员创造搞交互性界面的方式。设计者无需花费时间纠缠JS复杂的高级特性。 1....
    LaBaby_阅读 1,211评论 0 1
  • 一 操作类的方法1.addClass(className)2.removeClass(className)3.ha...
    petertou阅读 260评论 0 0