单击按钮后,我尝试删除标签内的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>
答案 0 :(得分:0)
这是您可以用于if语句的内容:
if (lbl && lbl[0].nodeName.toLowerCase() === "span") {
lbl[0].parentElement.removeChild(lbl[0])
};
真的应该清理它了。例如,您应该使用document.getElementById
而不是document.getElementsByTagName
。