使用javascript

时间:2015-05-28 02:21:07

标签: javascript

我想检查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";
}

2 个答案:

答案 0 :(得分:1)

您的代码中需要进行一些更正。首先,getElementsByTagName返回NodeList,因此您需要按索引访问每个项目,如

  var x = document.getElementsByTagName('span')[0];

此外,roadDiv未定义,您应使用上面的document或父容器。

接下来,对于span元素,您需要使用innerHTML,而不是value

if (x.innerHTML == "") {

&#13;
&#13;
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;
&#13;
&#13;

答案 1 :(得分:0)

最好使用===而不是==,而不是它会对这个块产生很大的影响,而只是为了解决你的代码风格的任何问题,并消除由于两个参数而遇到的任何奇怪错误是平等但不同的类型。