0

如果我不将代码保留在函数中并调用它但作为函数不起作用,我的 Jquery 代码可以正常工作

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

</script>
4

2 回答 2

4

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

$(document).ready(function(){
    $("input:radio").change(function(){
        checkResult(this);
    });
});
function checkResult(el) {
    var $this = $(el).parent("div.QA");
    $this.slideUp();
}
于 2013-08-12T04:35:46.593 回答
0

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

$(document).ready(function(){
    $("input:radio").change(checkResult);
});
function checkResult()
{
    $this=$(this).parent("div.QA");
    $this.slideUp();
}
于 2013-08-12T04:42:32.020 回答