我的Jquery代码工作正常,如果我不将代码保留在函数内并调用它但作为一个函数不工作
<script>
$(document).ready(function(){
$("input:radio").change(function(){
checkResult();
});
});
function checkResult()
{
$this=$(this).parent("div.QA");
$this.slideUp();
}
</script>
答案 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();
}