使用jquery的未捕获的TypeError

时间:2011-11-27 13:37:10

标签: javascript jquery

我是javascript的新手,我一直在努力开发一些东西来帮助我教我的课程,关于二进制编码器和解码器。这是我提出的代码:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.0/jquery.js"></script>
<script type="text/javascript">
$(document).ready(function() {
    $('#pressme').click(function(){

var randomnumber = Math.floor(Math.random() * 8);
if(randomnumber == 0){
    $('#i_1').removeClass.addClass('wire_inactive');
    $('#i_2').removeClass.addClass('wire_inactive');
    $('#i_3').removeClass.addClass('wire_inactive');

    $('#o_0').removeClass.addClass('wire_active');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 1){
    $('#i_1').removeClass.addClass('wire_active');
    $('#i_2').removeClass.addClass('wire_inactive');
    $('#i_3').removeClass.addClass('wire_inactive');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_active');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 2){
    $('#i_1').removeClass.addClass('wire_inactive');
    $('#i_2').removeClass.addClass('wire_active');
    $('#i_3').removeClass.addClass('wire_inactive');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_active');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 3){
    $('#i_1').removeClass.addClass('wire_active');
    $('#i_2').removeClass.addClass('wire_active');
    $('#i_3').removeClass.addClass('wire_inactive');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_active');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 4){
    $('#i_1').removeClass.addClass('wire_inactive');
    $('#i_2').removeClass.addClass('wire_inactive');
    $('#i_3').removeClass.addClass('wire_active');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_active');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 5){
    $('#i_1').removeClass.addClass('wire_active');
    $('#i_2').removeClass.addClass('wire_inactive');
    $('#i_3').removeClass.addClass('wire_active');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_active');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 6){
    $('#i_1').removeClass.addClass('wire_inactive');
    $('#i_2').removeClass.addClass('wire_active');
    $('#i_3').removeClass.addClass('wire_active');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_active');
    $('#o_7').removeClass.addClass('wire_inactive');
}
if(randomnumber == 7){
    $('#i_1').removeClass.addClass('wire_active');
    $('#i_2').removeClass.addClass('wire_active');
    $('#i_3').removeClass.addClass('wire_active');

    $('#o_0').removeClass.addClass('wire_inactive');
    $('#o_1').removeClass.addClass('wire_inactive');
    $('#o_2').removeClass.addClass('wire_inactive');
    $('#o_3').removeClass.addClass('wire_inactive');
    $('#o_4').removeClass.addClass('wire_inactive');
    $('#o_5').removeClass.addClass('wire_inactive');
    $('#o_6').removeClass.addClass('wire_inactive');
    $('#o_7').removeClass.addClass('wire_active');
}
});
});
</script>

目标是根据随机数生成器生成的数字切换输入线的类(标记为i_0到i_3)和输出线(标记为o_0到o_7)。但是,当我点击按钮(我将其设置为pressme)时,我得到了未被捕获的TypeErrors。任何人都可以指出我正确的方向解决这个问题吗?

1 个答案:

答案 0 :(得分:2)

removeClass没有名为addClass的成员,因此您无法撰写removeClass.addClass('')removeClass是一个函数,您必须调用它:

$('#o_7').removeClass('wire_inactive').addClass('wire_active');

您可以将所有代码缩减为

// inactivate all
$('#o_0, #o_1, #o_2, #o_3, #o_4, #o_5, #o_6, #o_7').removeClass('wire_active').addClass('wire_inactive');

// activate random item
$('#o_' + randomnumber).removeClass('wire_inactive').addClass('wire_active');

...并为i_项应用类似的逻辑;我不确定你打开和关闭它们之间的逻辑是什么......