最近在看一个jQuery Plugin,里面的初始化变量代码如下,很是费解var fx = $.extend($('<div/>')[0], {prop : 0}),啥意思啊?求高手指点一二

解决方案 »

  1.   

    看字面意思 好像是给   当前文档的 第一个div 元素 集成一个属性  prop  值为 0 
      

  2.   

    嗯,谢谢楼上的帅哥。$('<div/>')是表示新建一个DIV还是查找一个DIV啊?
    我的理解是新建一个Element但是$('<div/>')[0] 是啥意思?
      

  3.   

    $('#id')[0]和$('#id').get(0)都是获取当前元素本身,是未被JQuery包装的HTML DOM元素.
      

  4.   

    OK,谢谢各位那么
    $('<div/>')是表示新建一个DIV还是查找一个DIV啊?
      

  5.   

    http://hi.csdn.net/attachment/201109/28/0_13171978025010.gif看图片的 倒数第二行    这个是 书 《锋利的jQuery》 的原文
      

  6.   

    谢谢,我理解为新建一个Element,不过$('<div/>')这么写还是很独特啊,因为里面有一个/一把来说新建一个DIV的话,直接 $('<div>') 就行了,还来个/还有一些疑惑
      

  7.   

    $.extend($('<div></div>')[0], {prop : 0})
    和上述写法一样,[0]获取新建的dom元素,之后扩展一个prop属性,这个写法正确的
      

  8.   

    $('<div/>')是新建一个div,$('<div/>')[0]是新建一个div并取得这个div的原始dom对象
    还有纠正一下9楼的说法,$('<div>')和$('<div/>')是一样的。var fx = $.extend($('<div/>')[0], {prop : 0});也看不太懂。。
      

  9.   

    刚用var fx = $.extend($('<div/>')[0], {prop : 0});
    $.each(fx, function(i, n){
    console.log(i+": "+n);
    });
    document.body.appendChild(fx);
    看了下,居然extend可以这么用$.extend(element, {'key':'value'})。。
    那么var fx = $.extend($('<div/>')[0], {prop : 0});就是给这个新建的div的dom对象添加了一个prop属性,值为0。alert(fx.prop)可验证结果
      

  10.   

    就是说 $('<div/>')[0] 只是新建一个DIV,并取得本身对象 的意思了?
      

  11.   

    然后代码中还出现了                        $(fx).animate( {
    prop : 1
    }, {
    duration : currentOpts.speedIn,
    easing : currentOpts.easingIn,
    step : _draw,
    complete : _finish
    });这个动画又是干什么的啊,怎么工作?
      

  12.   

    你不会看下animate的api么。。
    在这段代码的外面,肯定有利用属性prop来改变这个div的样式的代码,而且用到了一个easing plugin插件,currentOpts.speedIn,currentOpts.easingIn都是插件定义的方法,用来规定动画效果的变化速度和效果;_draw,_finish是2个自定义函数。