解决方案 »

  1.   

    function getParents(dom){
      var parents = [];
      while(dom.parentNode){
        parents.push(dom.parentNode)
        dom = dom.parentNode;
      }
      return parents;
    }
    接受一个dom节点,注意不是jquery对象。最终获取到document。
    如果只要取到body,while里的判断改成
    while(dom.parentNode && dom.parentNode.tagName == 'BODY'){
      

  2.   


    可是,你的代码如何调用呢?
    比如:
      <div>
        <p>
          <span>
            <b>我的父元素是:</b>
          </span>
        </p>
      </div>用getParents('<b>')获得是是一个数组,不能这样调用。请你写一个调用的代码,可以吗?
      

  3.   

    各位大神我还有一个问题<div class="shang"><ul>
    <li></li>
    <li></li>
    <li></li>
    <li></li>
    </ul></div>
    <div class="xia"><div class="one">sd</div><div class="two">sdsd</div><div class="three">sdsd</div><div class="four">sdsd</div></div>现在这些个one,two等等都是隐藏的,但是当鼠标移动到第一个li上one显示,移动到第二个li上two显示,移走就消失怎么做到? 
      

  4.   

    var p=dom.parentNode,arr=[];
    while(p){
    arr.push(p);
    p=p.parentNode
    }
    会包含html之类的元素  自己加限定条件
      

  5.   

    用onmouseover和onmouseout控制不就可以了?