2012-01-16 66 views
2

我想明白这行的意思:jQuery的基本结构

var oViewport = { obj: $('.viewport', root) }; 

这是一个线路输出插件tinyscrollbar的。有人可以向我解释这一行的价值吗?我真的寻找答案,但没有找到答案。我感谢您的帮助。

回答

0

变量oViewport定义为对象{obj: ...};这个对象内部obj密钥的值是.viewport在可变root的上下文中,灒选择器(选择内部root变量,该变量,通常,一些DOM元素太。

2

它创建的对象常量和受让人与viewport类的所有的DOM元素它到名为oViewport变量:

var oViewport = {}; //Empty object literal 

该对象具有一个属性,命名为obj,其值是一个jQuery对象:

var oViewport = { obj: $() }; //Property with jQuery object as value 

jQuery对象找到所有具有类“视口”的元素,它们是root是的后代。 root是用于选择器的上下文:

$(".viewport", root); //Select all .viewport elements within root 
0
1. $('.viewport', root) 
     => this finds all elements having class viewport with context as root. 

2. { obj: $('.viewport', root) }; 
     => creating a object literal with "obj" as property 
         and the elements objects found above as value. 

3. var oViewport = { obj: $('.viewport', root) }; 
      => assigning the created object literal to variable "oViewport". 
+1

请介意给理由downvote .. – 2012-01-16 10:06:56

1
var oViewport = { obj: $('.viewport', root) }; 

在该代码是使用object literal语法(例如{ key: value })被创建的对象,并分配给新变量oViewport

的对象有一个键或属性,“obj”,它的价值是在与参数'.viewportroot称为命名$作用的结果。

因为这是jQuery的,$是主要jQuery selector function,而在这种情况下它的选择与CSS类“视” DOM元素,但只有那些对象root(叫的孩子“中,”这可能本身是一个DOM元素)。

上面的代码大致类似于下面:

var selector   = '.viewport', 
    selectedElements = $(selector, root), 
    oViewport  = new Object() // equivalent to oViewport = {} 
; 

oViewport['obj'] = selectedElements; // equiv. to oViewport.obj = selectedElements;