javascript - (this).parent().find ('.classname' ) 不工作

标签 javascript jquery html css clone

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

这里的例子: http://jsfiddle.net/jessikwa/zNL63/2/

由于某种原因,以下变量返回 null。有什么想法吗?

 var answer = $(this).parent().find(".faq-answer").clone();

完整代码:

$(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("");
    }
});

最佳答案

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

faqQuestion.click(showAnswer);

faqClone.click(hideAnswer);

现在 showAnswerhideAnswer 中的 this 将成为被点击的元素。

关于javascript - (this).parent().find ('.classname' ) 不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25126284/

相关文章:

javascript - 如何通过 css/js 将 N 个圆分布到另一个圆的内部边界?

javascript - jQuery Datepicker - 如何禁用今天之后的前两天

javascript - jQuery.appear 只有当整个元素是视口(viewport)时才会触发

javascript - 给标题下划线css动画

jquery - 从中心扩大div

javascript - 我如何最好地混淆 HTML/Javascript/WebGL 代码?

html - 可点击的图像页脚,html

javascript - 根据用户是否登录更改网站上的文本

javascript - JQuery:当鼠标按下子对象时,仅触发父对象而不触发子对象?

javascript - 在表单提交上调用函数时如何防止页面加载?