我想检查div中的值是否为空,这样我就可以隐藏“header”div。但是我的javascript失败了。
注意:span不应该有id,只有div。
<div id="header">
<label>This is a header</label>
</div>
<div id="myDiv">
<label>My Label</label>
<span>Dog</span>
</div>
使用Javascript:
function hideHeaders(){
var myDiv = document.getElementById('myDiv');
var x = roadDiv.getElementsByTagName('span');
if(x.value == ""){
document.getElementById('header').style.display = "none";
}
答案 0 :(得分:1)
您的代码中需要进行一些更正。首先,getElementsByTagName
返回NodeList
,因此您需要按索引访问每个项目,如
var x = document.getElementsByTagName('span')[0];
此外,roadDiv
未定义,您应使用上面的document
或父容器。
接下来,对于span
元素,您需要使用innerHTML
,而不是value
if (x.innerHTML == "") {
function hideHeaders() {
var myDiv = document.getElementById('myDiv');
var x = document.getElementsByTagName('span')[0];
if (x.innerHTML == "") {
document.getElementById('header').style.display = "none";
}
}
hideHeaders();
&#13;
<div id="header">
<label>This is a header</label>
</div>
<div id="myDiv">
<label>My Label</label>
<span></span>
</div>
&#13;
答案 1 :(得分:0)
最好使用===而不是==,而不是它会对这个块产生很大的影响,而只是为了解决你的代码风格的任何问题,并消除由于两个参数而遇到的任何奇怪错误是平等但不同的类型。