Jquery с использованием waypoint get id элемента

i'am с помощью jQuery waypoints (http://imakewebthings.com/jquery-waypoints/#docs), чтобы проверить, является ли элемент видом браузера, здесь html:

<div class="container" id="container_1">1. Container</div>
<div class="container" id="container_2">2. Container</div>
<div class="container" id="container_3">3. Container</div>
<div class="container" id="container_4">4. Container</div>

здесь js

$('#container_1').waypoint(function() {
     console.log("container 1 is visible");
});

это отлично работает!

Но можно ли узнать текущий идентификатор элемента, который находится в поле зрения, и убрать путевую точку? что-то вроде этого:

$('.container').waypoint(function() {
         console.log("id of element: " + $(this).attr('id');
    });

спасибо!

Ответ 1

Вам не хватает скобки: ) в конце console.log, иначе это сработает.

$('.container').waypoint(function() {
         console.log("id of element: " + $(this).attr('id'));
    });

Если вы сбиваете с толку, вы также можете использовать это:

$('.container').waypoint(function() {
    var $this = $('.container');         
    console.log("id of element: " + $this.attr('id'));
});

Ответ 2

В waypoints.js я обнаружил, что this относится к внутреннему объекту путевых точек. Если вы выполните console.log, вы легко найдете, как выбрать этот элемент с помощью jquery.

handler: function (direction){
    var DOMElement = $(this.element);
    console.log($(this.element).attr('data-id');
}

Также... идентификатор атрибута атрибута элемента undefined