-2
我读了一个问题的答案,说closest()
方法只适用于父元素。所以我做了一个例子,显示了三个<ul>
元素和<li>
孩子。我在第二个<ul>
上应用了一个jQuery代码,以查看closest()
方法是针对上一个最接近的元素还是下一个最接近的元素;我很惊讶它将目标元素作为目标,而这是第二个<ul>
。jQuery的最接近()方法的目标是当前元素,而不是最接近的元素
HTML
<ul class="ul-1">
<li>UL 1 - Li 1</li>
<li>UL 1 - Li 2</li>
<li>UL 1 - Li 3</li>
<li>UL 1 - Li 4</li>
</ul>
<ul class="ul-2">
<li>UL 2 - Li 1</li>
<li>UL 2 - Li 2</li>
<li>UL 2 - Li 3</li>
<li>UL 2 - Li 4</li>
</ul>
<ul class="ul-3">
<li>UL 3 - Li 1</li>
<li>UL 3 - Li 2</li>
<li>UL 3 - Li 3</li>
<li>UL 3 - Li 4</li>
</ul>
jQuery的
$('.ul-2').closest('ul').css('background','red');
我使用的方法closest()
错?
该文档非常清楚[Clostest实际上是:](https://api.jquery.com/closest/) - *对于集合中的每个元素,获取与选择器匹配的第一个元素测试元素本身并遍历DOM树中的祖先*。我不确定这是甚么问题。 (因为'.ul-2'是'ul' jquery选择相同的元素) –
这应该很容易通过阅读api文档来理清。在问这里之前,你需要做合理的研究 – charlietfl