2016-03-14 65 views
2

我正在嘗試使用流行的「航點」jQuery庫。我查看了各種示例和文檔,但我正在努力掌握如何訪問附加到航點的元素。瞭解航點基礎知識

爲了使它更清晰,我有幾頁屬於.nudgedown類的頁面。我希望讓他們在滾動後更改背景顏色。我想看看是否有什麼工作都用這個代碼提醒他們最初的背景色:

$(".nudgedown").waypoint(function(){ 
    alert($(this).css("background-color")); 
}); 

但是什麼也沒有發生,並在控制檯中我得到這個錯誤:

TypeError: b.ownerDocument is undefined

我是什麼做錯了?我的方法在概念上是否錯過了一些東西?先謝謝您的幫助。

+0

感謝編輯羅裏! – Uknowho

回答

1

您好,您嘗試使用$(this)獲取錯誤的元素。你可以試試這個:

$(document).ready(function(){ 
 
\t var waypoints = $('.nudgedown').waypoint({ 
 
       handler: function(direction) { 
 
       var el=$(this).get(0).element; 
 
       console.log($(el).css("background-color")); 
 
      } 
 
\t }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<script src="https://cdnjs.cloudflare.com/ajax/libs/waypoints/4.0.0/jquery.waypoints.js"></script> 
 
<div style="background-color:blue; height:50px"></div> 
 
<span class="nudgedown" style="background-color:red;">test</span> 
 
<div style="background-color:green; height:800px"></div>

結果

enter image description here

+0

謝謝昆汀!這是肯定的工作,但我不明白這一點:$(this).get(0).element – Uknowho

+0

$(this)是一個航點的數組,與get(0)你得到的第一個航點objet包含dom元素 –

+0

數組是否包含類「.nudgedown」的所有元素? – Uknowho