其他声明没有执行javascript [英] Else statement not executed javascript

查看:95
本文介绍了其他声明没有执行javascript的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

每次执行if语句时,无论条件是什么,都会在下面的代码中嘿嘿。

  function addRow( tableID){

var table = document.getElementById(tableID);
if((document.getElementById('select_degree')。style.visibility ='hidden')&&(document.getElementById('select_degree')!= null)){
document.getElementById ('select_degree')。style.visibility ='visible';
document.getElementById('select_ratings')。style.visibility ='visible';
}

else {
var rowCount = table.rows.length;
var new_row = table.rows [rowCount-1];


var row = table.insertRow(rowCount);


var colCount = table.rows [0] .cells.length;




for(var i = 0; i< colCount; i ++){

var newcell = row.insertCell(i );


newcell.innerHTML = new_row.cells [i] .innerHTML;
}
}
}

当document.getelementById(' add_degree')为null我收到错误:

  document.getElementById(select_degree)为null 
addRow( tableID =add_degree)

但是如果元素为null,我已经有了一个else语句

解决方案

您的if语句未使用正确的运算符。用比较运算符替换 = (用于赋值): == 。此外,在尝试检查元素的属性之前,必须检查元素是否存在。如果你不这样做,当元素不存在时你会得到一个例外。



这是你的代码,纠正和清理:

  function addRow(tableID){
var objSelectDegree = document.getElementById('select_degree');
if(objSelectDegree!= null&& objSelectDegree.style.visibility =='hidden'){
objSelectDegree.style.visibility ='visible';
document.getElementById('select_ratings')。style.visibility ='visible';
}
else {
//将表var移动到else块 - 除非被击中,否则它没有被使用
var table = document.getElementById(tableID);
var rowCount = table.rows.length;
var new_row = table.rows [rowCount - 1];
var row = table.insertRow(rowCount);
var colCount = table.rows [0] .cells.length;

for(var i = 0; i< colCount; i ++){
var newcell = row.insertCell(i);
newcell.innerHTML = new_row.cells [i] .innerHTML;
}
}
}


Hey Guys in the below code every time the if statement is executed no matter what the condition is.

function addRow(tableID) {

            var table = document.getElementById(tableID);
            if((document.getElementById('select_degree').style.visibility = 'hidden')&&(document.getElementById('select_degree')!=null)){
              document.getElementById('select_degree').style.visibility = 'visible';
              document.getElementById('select_ratings').style.visibility  = 'visible';
             }

            else{ 
            var rowCount = table.rows.length;
            var new_row = table.rows[rowCount-1];  


            var row = table.insertRow(rowCount);


            var colCount = table.rows[0].cells.length;




            for(var i=0; i<colCount; i++) {

                var newcell = row.insertCell(i);


                newcell.innerHTML = new_row.cells[i].innerHTML;
            }
           }             
        }

When document.getelementById('add_degree') is null I get the error:

document.getElementById("select_degree") is null
addRow(tableID="add_degree")

But I already have a else statement if the element is null

解决方案

Your if statement is not using the correct operator. Replace your = (used for assignment) with the comparison operator: ==. In addition, you must check if the element exists before attempting to check it's properties. If you don't, you'll get an exception when the element doesn't exist.

Here is your code, corrected and cleaned up:

function addRow(tableID) {
    var objSelectDegree = document.getElementById('select_degree');
    if (objSelectDegree != null && objSelectDegree.style.visibility == 'hidden') {
        objSelectDegree.style.visibility = 'visible';
        document.getElementById('select_ratings').style.visibility = 'visible';
    }
    else {
        // Moved table var to else block - it was not used unless else was hit
        var table = document.getElementById(tableID);
        var rowCount = table.rows.length;
        var new_row = table.rows[rowCount - 1];
        var row = table.insertRow(rowCount);
        var colCount = table.rows[0].cells.length;

        for (var i = 0; i < colCount; i++) {
            var newcell = row.insertCell(i);
            newcell.innerHTML = new_row.cells[i].innerHTML;
        }
    }
}​

这篇关于其他声明没有执行javascript的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆