(this).parent().find('.classname')不起作用

jes*_*kwa -1 html javascript css jquery clone

我正在尝试点击事件,用户点击Div问题,然后Jquery克隆Div答案并将其显示在单独的Div Clone中.

示例:http: //jsfiddle.net/jessikwa/zNL63/2/

由于某种原因,以下变量返回null.有任何想法吗?

 var answer = $(this).parent().find(".faq-answer").clone();
Run Code Online (Sandbox Code Playgroud)

完整代码:

$(document).ready(function () {
    var faqQuestion = $('.faq-question');
    var faqClone = $('.faq-clone');

    faqQuestion.click(function () {
        showAnswer();
    });

    faqClone.click(function () {
        hideAnswer();
    });

    function showAnswer() {
        $(".faq-clone").hide("slide");
        $('.faq-clone').html("");

        var answer = $(this).parent().find(".faq-answer").clone();
        $('.faq-clone').append(answer.html());
        $(".faq-clone").show("slide");
    }

    function hideAnswer() {
        $(".faq-clone").hide("slide");
        $('.faq-clone').html("");
    }
});
Run Code Online (Sandbox Code Playgroud)

use*_*654 7

解决这个问题的最简单方法是通过引用传递处理程序:

faqQuestion.click(showAnswer);

faqClone.click(hideAnswer);
Run Code Online (Sandbox Code Playgroud)

现在this里面showAnswerhideAnswer将是被点击的元素.