jquery究竟返回什么对象?

时间:2011-03-06 04:38:10

标签: javascript jquery html

我已经在我自己的个人JavaScript库上工作了一段时间,它运行正常。但我一直在想jQuery返回对象。

假设您的DOM中有几个div并且您使用$("div")选择它们jquery实际上会在控制台日志中返回所选节点(作为对象/数组?),您可以将鼠标悬停在它们上面以查看它们在文件中的位置。

我的对象实际上返回整个对象本身,所以如果你调用kj("div")(其中kj是我的对象名称),它会在控制台日志中显示如下:

    > kj
    > elements: Array[10]
    > length : 10
    > more stuff

我的问题是,如何让它返回类似jQuery的内容?

提前致谢。

3 个答案:

答案 0 :(得分:3)

JQuery挂起它自己对一个对象的引用,而这个对象反过来引用了dom中的东西。这些引用比仅仅附加事件的“html内容”稍微复杂一些。 JQuery还有非常高效的“选择器”,可以迭代dom并构建这些引用。

我不得不说我同意Scrum Meister。如今,即使是微软的开发,JQuery也是一个公认的标准(WOOHOO!)。为什么不使用它?

答案 1 :(得分:3)

我认为你要找的是在jQuery中,元素数组是主要对象,方法和其他信息作为属性连接到该数组。

function $$(tagname){
  var x = document.getElementsByTagName( tagname );
  x.moreStuff = true;
  return x;
}

var d = $$('div');

因为typeof Array === 'object'您可以随意将方法和属性附加到数组中。

答案 2 :(得分:0)

在此页面上打开您的控制台并执行console.log($('#custom-header')),您将获得结果。我认为,jquery会返回一个对象,其中包含我们在hide()show()上使用的以下方法和属性。我认为最好使用jquery然后创建另一个库。

>>> console.log($('#custom-header'))
[div#custom-header]



0
    div#custom-header


context
    Document what-is-the-jquery-returned-object-exactly


jquery
    "1.4.4"


length
    1


selector
    "#custom-header"


init
    function()


TextAreaResizer
    function()


_toggle
    function()


add
    function()


addClass
    function()


addSpinner
    function()


addSpinnerAfter
    function()


after
    function()


ajaxComplete
    function()


ajaxError
    function()


ajaxSend
    function()


ajaxStart
    function()


ajaxStop
    function()

    .......
    .......
    .......