使用javascript在表中隐藏表行元素

使用javascript在表中隐藏表行元素,javascript,Javascript,当td没有值时,我想隐藏一个表行,但我的javascript函数失败了。它一直在“其他”节目中播放 HTML 与其检查空字符串,不如检查innerHTML的长度是否大于0 r.length > 0 如果字符串为空,则长度将返回0,如果innerHTML包含任何字符,则长度将返回大于0的值 您当前使用r==”所做的是检查r是否为空,这就是显示“如果”警报的原因 看这个例子 如果条件允许,您使用的是错误的 使用if(r!=“”)而不是r=“” 事实上,如果你的条件是错误的 示例: 或

当td没有值时,我想隐藏一个表行,但我的javascript函数失败了。它一直在“其他”节目中播放

HTML


与其检查空字符串,不如检查
innerHTML
的长度是否大于0

r.length > 0
如果字符串为空,则长度将返回0,如果innerHTML包含任何字符,则长度将返回大于0的值

您当前使用
r==”
所做的是检查r是否为空,这就是显示“如果”警报的原因

看这个例子


如果条件允许,您使用的是错误的

使用if(r!=“”)而不是r=“”

事实上,如果你的条件是错误的

示例


希望在页面结束时尝试编写javascript,以便元素可用,并且不会得到空引用之前,不要加载javascript

通过innerhtml,您得到了“span Road 1/span”,因此请根据该条件编写条件。如果您将脚本加载到正文下方,则其工作正常


确保在加载html后加载了脚本。

使用未定义作为比较,而不是空字符串,并使用===而不是空字符串==

if(r === undefined){ alert("on if");
  document.getElementById('locOfWorkRow').style.display = "none";
}else{
  alert("on else");
}

您可以使用innerText或textContent代替innerHTML

var r = document.getElementById('road').innerText || document.getElementById('road').textContent; 

抱歉,但我一开始的陈述是错误的。如果td没有值,则该行应该隐藏。因此,如果td为空,是否要隐藏它?看这把小提琴。请更新您的问题,以反映这是您实际需要的。td现在为空,locOfWorkRow现在隐藏在if中(r.length==0)。如果这不是你需要的,请告诉我?
var r = document.getElementById('road').innerHTML;

if (r.length > 0) {
    alert("on if");
    document.getElementById('locOfWorkRow').style.display = "none";
} else {
    alert("on else");
}
if(r !== ""){ alert("on if");
   document.getElementById('locOfWorkRow').style.display = "none";
 }else{
    alert("on else");
 }
if (r.length > 0) {
    alert("on if");
    document.getElementById('locOfWorkRow').style.display = "none";
} else {
    alert("on else");
}
if(r === undefined){ alert("on if");
  document.getElementById('locOfWorkRow').style.display = "none";
}else{
  alert("on else");
}
var r = document.getElementById('road').innerText || document.getElementById('road').textContent;