为了账号安全,请及时绑定邮箱和手机立即绑定

获取表单元素的兄弟结点

获取表单元素的兄弟结点

白衣染霜花 2019-03-13 18:19:40
想获取<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="此处填写姓名"/>


查看完整回答
反对 回复 2019-03-30
  • 1 回答
  • 0 关注
  • 395 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信