这是我的代码columnLength = tColumns.length;
if (parseInt(columnLength) ==2) {
tColumns[0].parentNode.insertBefore(tD, tColumns[0].nextSibling);
}
if (parseInt(columnLength) >= 3)
{
tColumns[0].parentNode.insertBefore(tD, tColumns[0].nextSibling);
tColumns[0].parentNode.insertAfter(tD, tColumns[0].nextSibling);
}`
假设columnLength为1.。第一个IF条件为false且不执行内部语句。
即使第二条件也是假的,因为1不等于3,但是语句正在执行!
代码有什么问题?
我正在使用Visual Studio IDE进行调试,即使在立即窗口中,如果条件返回false,也如下所示。
最佳答案
主题:
我假设您的tColumns.length可能没有您期望的值。我猜它具有未定义的值,不能将其解析为整数。
http://jsfiddle.net/FRXkM/1/
题外话 :
可能与您的问题无关。但是parseInt需要以常规方式使用第二个参数。
例如:
parseInt("34", 10);
有关parseInt及其参数的信息,请转到http://www.w3schools.com/jsref/jsref_parseint.asp