DOM文档是一颗树,我认为任何一个子节点都只可能有一个唯一的父节点。可我看了本《jQuery全面提速》的书,居然有这样的代码:$("td").parent()[0]难道这个td元素会有多个父元素吗,为什么要带下标[0]呢

解决方案 »

  1.   

    你理解错了 。
    $("td").parent() 返回的是通过jquery包装的对象 .
    $("td").parent()[0]以后就还原为普通的原始对象了 。
    我认为任何一个子节点都只可能有一个唯一的父节点 这句话是对的 。
    儿子只有一个爸爸 。
    http://topic.csdn.net/u/20110526/12/33905d31-bd7e-49fd-879e-d07a7eeb148c.html
      

  2.   

    我jq不熟,认为$("td").parent()是返回一个父对象
    后面加上[],是返回它的子节点
      

  3.   

    首先要知道,jquery对象都是数组对象,哪怕只有一个实际的对象,也是用数组存放的,所以需要用[0]来转换成普通的DOM对象。看看JQ教程中关于JQ对象和DOM对象相互转换的说明,就知道了。
      

  4.   

    因为jquery对象是个数组    就算里面只有一个元素  他还是个数组
      

  5.   

    1、使用parent的未必是一个jquery对象
    比如$("*")2、parent[0]是获取第n个位置上的对象。这点楼上各位都已经解释了,他的作用相当于get(index)
      

  6.   

    $("td").parent()[0]只是将jquery对象又还原成了js对象,jquery对象本身就是一个数组。