2012-05-04 2 views
1

Я читаю отличную книгу о jQuery (Apress Pro jQuery), и я немного смущен об использовании этого. Например, я читаю следующий код:Значение 'this' in jQuery code

<script type="text/javascript"> 
$(document).ready(function() { 
    var isResult = $('img').is(function(index) { 
     return this.getAttribute("src") == "rose.png"; 
    }); 
    console.log("Result: " + isResult); 
    }); 
</script> 

Я удивлялся, какой объект в данном случае «это» относится. Спасибо.

+1

Это выражение для селектора '$ ('img')' –

+2

Если вы хотите его проверить, вы всегда можете открыть консоль и сделать 'console.log (this)', чтобы увидеть, о чем идет речь. –

+3

@RPM, 'this' не ссылается на объект jQuery $ ('img'), он ссылается на элемент DOM. – Jack

ответ

5

this в контексте «this» является ссылкой на элемент DOM img.

+3

это фактически набор объектов, на которые ссылается селектор, который может содержать 0 или более элементов img. –

+4

@SamTyson: На самом деле функция запускается для * each * '' element, поэтому 'this' является отдельным элементом' '. –

+0

@SamTyson http://jsfiddle.net/nVRQ2/ – xandercoded