jquery方法工作正常,但作为一个功能不起作用

时间:2013-08-12 04:34:58

标签: jquery jquery-slide-effects

我的Jquery代码工作正常,如果我不将代码保留在函数内并调用它但作为一个函数不工作

<script>
    $(document).ready(function(){
        $("input:radio").change(function(){
        checkResult();
        });
    });
        function checkResult()
        {
        $this=$(this).parent("div.QA");
        $this.slideUp();
        }

</script>

2 个答案:

答案 0 :(得分:4)

因为函数内部的this没有引用单击的radio元素,因为您将其作为单独的函数编写,将被点击的元素作为参数传递

$(document).ready(function(){
    $("input:radio").change(function(){
        checkResult(this);
    });
});
function checkResult(el) {
    var $this = $(el).parent("div.QA");
    $this.slideUp();
}

答案 1 :(得分:0)

传递函数名称 - checkResult作为回调,以便this引用已更改的元素。

$(document).ready(function(){
    $("input:radio").change(checkResult);
});
function checkResult()
{
    $this=$(this).parent("div.QA");
    $this.slideUp();
}