<ul> -->不符合。其实它是符合li.item-a的祖先元素的。但是根据parentsUntil()方法定义,是不包括选择器、DOM节点或jquery对象所匹配的元素的
<li>I</li>-->不符合,这是它祖先元素的同辈元素。并不是li.item-a的祖先元素。
<li>II -->符合
<ul> -->符合
<li>A</li> -->从这开始往上找其祖先元素。
<li>B
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
</li>
<li>C</li>
</ul>
</li>
<li>III</li>
</ul>
再来看第二个语句:
复制代码 代码如下:
$("li.item-2").parentsUntil( $("ul.level-1"), ".yes" ).css("border", "3px solid blue");
复制代码 代码如下:
<ul>-->是其祖先元素 且又满足选择器表达式".yes",但是根据parentsUntil()方法定义,是不包括选择器、DOM节点或jquery对象所匹配的元素的
<li>I</li> 不匹配,不是其祖先元素。
<li>II-->是其祖先元素 不满足
<ul> -->是其祖先元素 满足选择器表达式".yes" [所以,最终匹配到该节点,得到如上图所示的蓝色边框效果]
<li>A</li>
<li>B -->是其祖先元素
<ul> -->是其祖先元素
<li>1</li>
<li>2</li> -->从这开始往上找其祖先元素。
<li>3</li>
</ul>
</li>
<li>C</li>
</ul>
</li>
<li>III</li>
</ul>
您可能感兴趣的文章: