想获取<input>的上个结点<span>的内容,可是得到的是undefined<form name="liuyan" class="liuyan" autocomplete="on" onsubmit="return check()"> <span>姓名:</span> <input type="text" name="user_name" placeholder="此处填写姓名"/> <br /><br /> <span>联系电话:</span> <input type="text" name="user_phone" placeholder="此处填写电话"/></form>JavaScript:function check(){ var form_list = document.liuyan.elements; for (var i=0;i<form_list.length;i++) { if(form_list[i].value==""){ var last_node = form_list[i].previousSibling; alert(last_node.innerHTML+"不能为空"); form_list[i].focus(); return false; } } return true;}求指教,谢谢。
1 回答
aluckdog
TA贡献1847条经验 获得超7个赞
将last_node打印出来,你会发现并不是<span>标签,而是一个TextNode。
即标签<input>和<span>之间会有另一个元素,类型为TextNode,在操作的时候一定要注意。
再举两例吧。
这时获取到的是 '111↵ ' 。
<span>姓名:</span>111
<input type="text" name="user_name" placeholder="此处填写姓名"/>
这时获取到的就是`<span>`标签。
<span>姓名:</span><input type="text" name="user_name" placeholder="此处填写姓名"/>
添加回答
举报
0/150
提交
取消