jquery遍历之parent()和parents()的区别及parentsUntil()方法详解

2020-05-17 06:19:18易采站长站整理

        <ul class=”level-3″>
          <li class=”item-1″>1</li>
          <li class=”item-2″>2</li>
          <li class=”item-3″>3</li>
        </ul>
      </li>
      <li class=”item-c”>C</li>
    </ul>
  </li>
  <li class=”item-iii”>III</li>
</ul>

再来看第二个语句:

$(“li.item-2”).parentsUntil( $(“ul.level-1”), “.yes”  ).css(“border”, “3px solid blue”);


<ul class=”level-1 yes”>–>是其祖先元素 且又满足选择器表达式”.yes”,但是根据parentsUntil()方法定义,是不包括选择器、DOM节点或jquery对象所匹配的元素的
  <li class=”item-i”>I</li> 不匹配,不是其祖先元素。
  <li class=”item-ii”>II–>是其祖先元素 不满足
    <ul class=”level-2 yes”> –>是其祖先元素 满足选择器表达式”.yes” [所以,最终匹配到该节点,得到如上图所示的蓝色边框效果]
      <li class=”item-a”>A</li>
      <li class=”item-b”>B –>是其祖先元素
        <ul class=”level-3″> –>是其祖先元素
          <li class=”item-1″>1</li>
          <li class=”item-2″>2</li> –>从这开始往上找其祖先元素。
          <li class=”item-3″>3</li>
        </ul>
      </li>
      <li class=”item-c”>C</li>
    </ul>
  </li>
  <li class=”item-iii”>III</li>
</ul>