2016-11-11 51 views
-4

对不起,我是新来堆栈溢出,所以希望我正确地做到这一点。Javascript - 隐藏分区

我有以下代码:

{ 
    if (session.findById("T1").text == "") { 
    document.getElementById("W1").style.display = 'none'; 
    } else { 
    document.getElementById("W1").style.display = 'inline'; 
    } 
} 

基本上是说,如果T1为空白,则W1不应该显示。如果T1不是空白,W1将显示。

我无法得到它的工作,然后由自己试过这样:

document.getElementById("W1").style.display = 'none'; 

会发生什么事是项目迅速消失(闪烁),但随后回又来了。所以这有点工作,但我希望它永久隐藏。除非当然T1包含文本,然后它应该重新出现。

我该如何解决?

谢谢!

+1

什么是'findById()'方法?原生JavaScript中不存在这样的方法。 –

+1

您是否尝试过记录'.text'?我猜它应该是'.innerText'或'.textContent',或者如果它是一个输入,那么'.value'。还可以尝试使用'.trim'去除不需要的空格 – Rajesh

+0

同意使用muhammad,session.findById(“T1”)附近的问题 – Jigar7521

回答

1

嗨,你看我的例子

function isEmpty() { 
 
    var sample = document.getElementById("sample"); 
 
    var div = document.getElementById("divko"); 
 
    if (sample.value.trim() == "") { 
 
    div.setAttribute("style", "display:none;"); 
 
    } else { 
 
    div.removeAttribute("style"); 
 
    } 
 
}
<input id="sample" name="sample" onkeyup="isEmpty()"> 
 
<div id="divko" style="display:none;">Sample</div>

+0

请注意,它不明智地删除属性'样式'。另外最好使用'element.style.display = ...'。最后一点,如果你输入空格,它会显示div。我不确定OP是否在寻找它,但你应该考虑两种选择。 – Rajesh

+0

只需为空间值添加修剪功能 – Chinito

0

你可以用下面的隐藏选项

document.getElementById("W1").style.display = 'block';