簡體   English   中英

使用jquery的未捕獲的TypeError

[英]uncaught TypeError with 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。 任何人都可以指出我正確的方向解決這個問題嗎?

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_項應用類似的邏輯; 我不確定你打開和關閉它們之間的邏輯是什么......

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM