为什么要在Sizzle.js中扩展兄弟选择器的上下文?

时间:2015-09-08 13:34:07

标签: javascript jquery sizzle

我现在正在阅读Sizzle.js的代码,并对以下内容感到困惑:

newContext = rsibling.test( selector ) && testContext( context.parentNode ) || context;

第301行

这部分修复了在Element上下文之外查找的qSA方法。但我不明白为什么我们应该在兄弟姐妹的时候创建newContext context.parentNode而不是context。

google之后我没有任何用处。也许我使用错误的关键字。

Sizzle = $.find;
div = document.getElementsByTagName('div')[0];
alert(Sizzle('p+span',div));
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div>
  <p></p>
  <span></span>
</div>

我在上面进行了测试,得到了正确的答案。所以我不知道为什么还要使用parentNode。

任何人都可以为我解释一下吗? 非常感谢。 :)

0 个答案:

没有答案