2016-11-11 53 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';