2008-10-30 3 views
0

Я хочу, чтобы обработчик события «щелкнуть» для первого дочернего элемента элемента с идентификатором «foo», используя jQuery. Я понимаю, что синтаксис для этого является:Обработчики событий jQuery-связанных

$('#foo:first-child').bind('click', function(event) { 
    // I want to access the first child here 
}) 

В теле обработчика Я хочу получить доступ к элементу, который вызвал событие уволят. Я где-то читал, что вы не можете просто ссылаться на него через «это», так как я могу получить к нему доступ?

ответ

0

Просто используйте "это":

$('#foo:first-child').bind('click', function(event) { 
    alert(this === $('#foo:first-child')); // True 
    this.style.color = "red"; // First child now has red text. 
}) 
2

Забудьте, что вы где-то читал и идти вперед и использовать это ключевое слово:

$("#foo:first-child").click(function(event) { 
    $(this).css("background", "pink"); 
}); 
2

Просто, чтобы добавить к Greg's reply, одну маленькую поправку заключается в том, что:

this === $('#foo:first-child') // returns false 
$(this) === $('#foo:first-child') // returns true 

this ссылается на сам HTML-элемент, а $(this) просто превращает его в элемент jQuery.

Смежные вопросы