•  
     

'this' (isto) é Importante! - jQuery

Código: Selecionar todos

$(document).ready(function() {
    $('div').mouseenter(function() {
        $('div').hide();
    });
});

A segunda linha é boa: elas nos diz que quando movemos o mouse para div devemos realizar determinada ação. Contudo, '$('div').hide();' não vai apenas ocultar o div sobre o qual o mouse está; a ação vai ocultar todos os blocos div da página. Como podemos dizer à jQuery que queremos afetar apenas este div em particular?

Com a palavra 'this', é claro!

A palavra reservada 'this' se refere ao objeto jQuery com o qual você está trabalhando. Suas regras completas são um pouco complicadas, mas o importante é entender que se você usa um event handler (manipulador de evento) em um elemento — esse é o nome chique para ações como .click() e .mouseenter(), uma vez que elas manipulam eventos em jQuery — você pode chamar o evento que ocorre (como fadeOut()) em $(this), e assim o evento vai afetar somente o elemento com o qual você está trabalhando (por exemplo, clicar ou deixar o mouse sobre alguma coisa).

HTML

Código: Selecionar todos

<!DOCTYPE html>
<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="stylesheet.css">
<script src="http://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<script type="text/javascript" src="script.js"></script>
</head>
<body>
<div></div>
<div></div>
<div></div>
<div></div>
</body>
</html>


CSS

Código: Selecionar todos

div {
    height: 100px;
    width: 100px;
    background-color: #4ECDC4;
    border-radius: 5px;
    display: inline-block;
}


JavaScript

Código: Selecionar todos

$(document).ready(function() {
    $('div').click(function() {
        $(this).fadeOut('slow');
    });
});



Demo: http://jsfiddle.net/j7y50f4n/9/