原生JS查找相邻元素——siblings方法
2016-06-12 15:01
309 查看
在JQuery中可以很方便地用 elem.siblings() 方法实现查找相邻元素,但在JS中并没有这样的方法,可以用previousSibling和nextSibling结合来实现。
不过在JS中用获取node的方法会有意想不到的多余的空文本,所以需要加入判断条件来判断元素类型。nodeType==1,表示是元素节点。
代码如下:
function siblingElems(elem){
var nodes=[ ];
var _elem=elem;
while((elem=elem.previousSibling)){
if(elem.nodeType==1){
nodes.push(elem);
}
}
var elem=_elem;
while((elem=elem.nextSibling)){
if(elem.nodeType==1){
nodes.push(elem);
}
}
}
使用如下:
var el=document.getElementById("ele");
var sib=siblingElems(el); //获得相邻元素数组
不过在JS中用获取node的方法会有意想不到的多余的空文本,所以需要加入判断条件来判断元素类型。nodeType==1,表示是元素节点。
代码如下:
function siblingElems(elem){
var nodes=[ ];
var _elem=elem;
while((elem=elem.previousSibling)){
if(elem.nodeType==1){
nodes.push(elem);
}
}
var elem=_elem;
while((elem=elem.nextSibling)){
if(elem.nodeType==1){
nodes.push(elem);
}
}
}
使用如下:
var el=document.getElementById("ele");
var sib=siblingElems(el); //获得相邻元素数组
相关文章推荐
- JS处理Cookie
- JSON.parse()和JSON.stringify()
- js追加子元素
- 构建自己的js库
- 在javascript中,我怎么得到下拉条顶端与当前可视的顶端高度的距离,不是和网页顶端的距离
- JS处理时间相关
- 页面元素用JS动态添加的有效事件绑定方式(on)
- json 格式化
- JS定时程序,设定一个一直刷新,又时间间隔的js,读取当前的时间并显示
- JS位操作符
- 使用moment.js轻松管理日期和时间
- js点击打开一个固定宽高的网页
- Tweenmax.js 绳索动画效果
- JSP EL表达式详细介绍(转)
- [转]JStorm之Supervisor简介
- 关于Javascript中构造函数返回值的问题
- [转]JStorm之Nimbus简介
- 文章标题
- JS中如何判断null
- javascript实现的base64编码解码