javascript - jquery 未捕获类型错误

标签 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 )的类别。但是,当我单击按钮(其 id 我已将其设置为 pressme)时,我遇到了未捕获的 TypeErrors。谁能指出我解决这个问题的正确方向吗?

最佳答案

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_ 项应用类似的逻辑;我不确定打开和关闭它们之间的逻辑是什么......

关于javascript - jquery 未捕获类型错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285945/

相关文章:

javascript - 简单的 ajax GET 请求在我的 Django 网页上不起作用

c# - 从 javascript 函数调用 .cs 文件内的程序以实现 onkeypress 函数 ASP.net

javascript - 从node.js googledrive api返回结果

javascript - 如何找到在可放置的 div 上放置的 div 的索引

javascript - Selenium:列出页面中的传出 URL

javascript - DOM 在 jQuery removeClass 函数后没有更新

jquery - CSS标准化文本背景

Javascript/Jquery : get 'display' css style for DOM element that wasn't appended to web page

使用 AJAX 获取数据时 PHP 脚本返回错误/无任何结果

jquery.post() 处理流程