删除节点

时间:2014-04-10 19:28:42

标签: javascript if-statement

单击按钮后,我尝试删除标签内的span标签。我以为我冷酷地使用了if语句,但它似乎并没有起作用。也许我的语法错了。任何帮助都是极好的。这是我的JavaScript:

 validate : function(){
 var span = document.createElement('span');
 var txt = document.createTextNode('*Required Field');
 span.appendChild(txt);
 var check = document.getElementsByTagName('input');
 var lbl = document.getElementsByTagName('label');
 var len = check.length;

if(lbl.nodeType === span){lbl.removeNode(span)};

for(var i=0;i<len;i++)
 {
     if (check[i].value ==='')
     {  
          span = document.createElement('span');
          txt = document.createTextNode('*Required Field');
          span.appendChild(txt);
          lbl[i].appendChild(span);
        // alert('required');
         // return false;
     }
 };
 return false
  },

这是我的HTML:

<body>
<form method="post" action="">
<div>
<ul>
<li><label>First Name</label><input type="text" name="fname" size="30"  /></li>
<li><label>Last Name</label><input type="text" name="lname" size="30"  /></li>
<li><label>Phone</label><input type="text" name="phone" size="30"  /></li>
<li><label>Email</label><input type="text" name="email" size="30" /></li>
<li><input type="button" name="submit" value="Submit"  id="submit"/></li>
</ul>
</div>
</form>
<script type="text/javascript" src="js/main.js"></script>
<script type="text/javascript">obj.init();</script>  
</body>
</html>

1 个答案:

答案 0 :(得分:0)

这是您可以用于if语句的内容:

if (lbl && lbl[0].nodeName.toLowerCase() === "span") {
    lbl[0].parentElement.removeChild(lbl[0])
};

真的应该清理它了。例如,您应该使用document.getElementById而不是document.getElementsByTagName