-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