在此代码中使用$(this)而不是$('。article')不起作用?

时间:2014-08-29 10:11:58

标签: javascript

var main = function(){
$('.article').click(function(){
    //$('.article').removeClass('current');
    $(this).removeClass('current');
    $('.description').hide();

    $(this).addClass('current');
    $(this).children('.description').show();
});
$('.article').dblclick(function(){
    //$('.description').hide();
    $(this).children('.description').hide();            
});

}; $(文件)。就绪(主);

这段代码就像这个http://www.codecademy.com/courses/web-beginner-en-4hxyb/0/5?content_from=make-an-interactive-website%3Ajquery-events点击全屏一样,你看到使用$(this).removeClass('current')代替$('。article')。removeClass('current')。这个关键字引用了'article'类,为什么使用它不会引用'article'类,必须使用'.artilce'。有人可以解释一下,谢谢!

1 个答案:

答案 0 :(得分:0)

这里有一个简化的代码,显示它可以正常工作

var main = function(){
$('.article').click(function(){
    // below will change all with class article to green
    // $('.article').addClass('green')

    // with this it only changes the clicked one to green
    //$(this).addClass('green');

    // below will remove red-class from clicked .article
    //$(this).removeClass('red');

    //below will remove red-class from all elements with .article
    $('.article').removeClass('red');
});

}; $(document).ready(main);

http://jsfiddle.net/tgLckfgz/2/