javascript 获取临近节点

RainSum 2011-10-25 11:19:53
<html>
<head>
<script>
function test(){
var str= document.getElementById("aa");
alert(str.nextSibling);
}
<script>
</head>
<body>
<td>
<input type="text" name="aa" id="aa"/>
<span class="rr"></span>
</td>
<td>
<input type="button" value="test" onclick="test();">
</td>
</body>
</html>
请问,怎么取到span节点?我想通过id取到input输入框,然后取到紧挨input框的span节点,但是就是取不到。
...全文
61 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
rao3324180 2011-10-25
  • 打赏
  • 举报
回复
str.nextSibling.nextSibling 可以这样写的
liangws 2011-10-25
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 ioriyagami80 的回复:]

思路很诡异啊。给span加个id不就成了?
[/Quote]

不是ID的问题,是换行符或空格的问题

在FF下会把换行符等当成当前元素的nextSibling,所以要写一个函数代替nextSibling

function getNextElement(node) {
var nextNode = node.nextSibling;
if (nextNode){
if (!nextNode.tagName) {
return getNextElement(nextNode);
} else {
return nextNode;
}
} else {
return null;
}

}

alert(getNextElement(document.getElementById("aa")).tagName)
IoriYagami80 2011-10-25
  • 打赏
  • 举报
回复
思路很诡异啊。给span加个id不就成了?
jayrao5566 2011-10-25
  • 打赏
  • 举报
回复
jquery
$('#aa').next();
zell419 2011-10-25
  • 打赏
  • 举报
回复
<input type="text" name="aa" id="aa"/><span class="rr">span</span>

这样 。

87,990

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧