通过nextSibling.nodeName来获得下一个标签的名称,但是失败了,找不出原因,望高手能帮忙解决,谢谢!
HTML文件
<html>
<head>
<title></title>
        <script src="js/check.js"></script>
        <style>
                #main{
position:absolute;
top:50%;
left:50%;
margin:-150px 0 0 -200px;
width:400px;
height:300px;
border: #aaa solid 1px;
}
        </style>
</head>
<body>
<form action="login.php" method=post>
          <div id="main">
<table width="400px" height="250px" align="center">
<caption>用户注册</caption>
<tr>
<td width="100px">用户名:</td>
<td><input type="text" name="uid" value=""size="20"></td>
                    <td width="100px"> <span>请输入用户名</span></td>
</tr>
<tr>
<td>密码:</td>
<td><input type="password" name="pwd" size="20" value=""></td>
                    <td><span>请输入密码</span></td>
                </tr>
<tr>
<td>确认密码:</td>
<td><input type="password" name="rpwd" size="20"></td>
                    <td><span>请再次输入密码</span></td>
</tr>
                <tr>
                    <td>性别:</td>
                    <td><input type="radio" name="sex" value="male" checked>男&nbsp;&nbsp;<input type="radio" name="sex" value="female">女</td>
                    <td></td>
                </tr>
                <tr>
                    <td>电子邮箱</td>
                    <td><input type="text" name="email"</td>
                    <td><span>请输入电子邮箱</span></td>
                </tr>
                <tr>
                    <td></td>
                    <td><input type="submit" name="sub" value="提交"></td>
                </tr>
              </table>
             </div>
</form>
</body>
</html>
js文件
onload=function(){
var uid=document.getElementsByName("uid")[0];
var pwd=document.getElementsByName("pwd")[0];
var rpwd=document.getElementsByName("rpwd")[0];
var sex=document.getElementsByName("sex")[0];
var email=document.getElementsByName("email")[0];
alert(uid.nextSibling.nodeName);
}
谢谢,有点急!

解决方案 »

  1.   

    本帖最后由 net_lover 于 2012-04-04 16:38:05 编辑
      

  2.   

    那我的这个要怎么写才能获得<SPAN>标签啊?
    我这样写了
    function gspan(cobj){
      while (true){
    if(cobj.nextSibling.nodeName!="SPAN")
    cobj=cobj.nextSibling;
    else
    return cobj.nextSibling;
    }
    }
    onload=function(){
    var uid=document.getElementsByName("uid")[0];
    alert(gspan(user));
    }
    还是不行,没有反应,网页状态栏显示网页上有错误....
      

  3.   

    span不是uid的nextSibling,应该是var uid=document.getElementsByName("uid")[0];
    span=uid.parentNode.nextSibling.getElementsByTagName("span")[0]
      

  4.   

    不是告诉你uid没有nextSibling;了吗?你再while也不会有的啊,你要搞清楚nextSibling是什么意思
      

  5.   

    下面是一个例子<script>
    function check()
    {
    var uid=document.getElementsByName("uid")[0];
    var td = getNext(uid.parentNode)
    var span = td.getElementsByTagName("SPAN")[0]
    alert(span.innerHTML);
    }function getNext(o)
    {
      var x = o.nextSibling;  
      while(x.nodeType!=1) x=x.nextSibling
      return x;
    }
    </script><input onclick="check()" type=button value="得到uid对应行的span">
      

  6.   

    谢谢啊!我明白了 nextSibling 属性可返回某个元素之后紧跟的元素(处于同一树层级中)。
    我初学js,多谢指点!