a464378820
Igccd
2012-10-14 00:59

jquery这五行代码分别是什么意思呢?

已采纳

[align=center][size=x-large]哥刚学jquery.学习插件时遇到一些问题,很疑惑,大神们,现身吧~[/size][/align]
[code="java"]$.fn.gparents= function () {
var gparents=[];
$.each(this,function(i,n){
gparents.push(n.parentNode);
});
gparents=$.unique(gparents);//
alert([color=red]this[/color].attr('name'));//this是jquery对象. 莫非是function本身?
return this.[color=red]pushStack/color;//setArray方法无效什么原因呢? pushStack又是什么方法,
}[/code]

以上代码中:
1,this到底是什么意思?
2,pushStack和setArray是哪里的函数啊?查了jquery手册木有啊,在DOM手册也木有啊..

  • 点赞
  • 写回答
  • 关注问题
  • 收藏
  • 复制链接分享
  • 邀请回答

2条回答

  • skcks 数个树歌 9年前

    上述代码作用是返回当前jQuery实例包含的元素的的一个不重复的父级元素的集合构成的jQuery实例。
    this是指当前的jQuery实例,如$("div.class"),则gparents函数中的this就是指当前$("div.class")这个实例。
    pushStack函数实际是创建一个不包含任何dom节点的空jQuery对象实例,然后把传进来的将第一个参数为数组则压入jQuery栈,否则为当前的空实例添加属性值,最后返回上述jQuery对象。

    点赞 评论 复制链接分享
  • iteye_5246 iteye_5246 9年前

    首先 $.fn.gparents 这样的写法是 追加 jQuery类实例对象的一个函数
    其中this 也就是例如:$("#id").gparents();
    也就是var d=$("#id"); 也就是 d的dom对象
    而 pushStack
    pushStack( elements ) 返回: jQuery
    描述: 将一个DOM元素集合加入到jQuery栈中
    api 链接:
    [url]http://www.kekaku.com/jQuery_1.6/docs/pushStack/index.html[/url]

    setArray api链接:
    [url]http://www.mydeveloperblog.com/jquery/jquery-api/setarray-elems-and-each-fn-and-set-elems-jquery-api-documentation-part-5/[/url]

    点赞 评论 复制链接分享