<!DOCTYPE html>
<html lang="zh"> <head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<meta http-equiv="X-UA-Compatible" content="ie=edge" />
<title>js 原生方法获取所有兄弟节点</title>
</head> <body>
<ul>
<li id="first">1</li>
<li>2</li>
<li>3</li>
</ul>
<script type="text/javascript">
//方法一:
// function sibling(elem) {
// var r = [];
// var n = elem.parentNode.firstChild;
// for(; n; n = n.nextSibling) {
// if(n.nodeType === 1 && n !== elem) {
// r.push(n);
// }
// }
// return r;
// }
//方法二
function sibling(elm) {
var a = [];
var p = elm.parentNode.children;
for(var i = 0, pl = p.length; i < pl; i++) {
if(p[i] !== elm) a.push(p[i]);
}
return a;
} var siblings = sibling(document.getElementById('first'));
console.log(siblings);
</script>
</body> </html>

js 原生方法获取所有兄弟节点的更多相关文章

  1. 遍历DOM树,获取所有兄弟节点

    获取兄弟节点的常用方法有:  方法  说明 siblings()  选取所有兄弟节点 next()  选取后面兄弟节点 nextAll()  选取所有后面的兄弟节点 nextUntil()  选取所有 ...

  2. 像jq那样获取对象的js原生方法

    使用过jq的童鞋非常喜欢jq获取对象的方法,只要$()就可以获取,在此我封装一个js获取对象的方法 [注意]只对chrome,Firefox,opera,Safari,ie8及ie8以上版本有效 fu ...

  3. JS原生方法实现瀑布流布局

    html部分(图片都是本地,自己需要改动图片) p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 30.0px Consolas; color: #2b7ec ...

  4. js原生方法传参的细节(面试必问)

    废话不说,直接上题. slice(),接收两个参数,第一个为开始index(从0开始),第二个为结束的index(也是从0开始,但是不包括index本身,只到index-1).返回值是截取的数组,原数 ...

  5. 图片首尾平滑轮播(JS原生方法—节流)<原创>

    首先给出HTML代码,要注意轮播图片表(#list)末尾加上第一个图片1.jpg,在首部加上最后一个图片5.jpg. <!DOCTYPE html> <html lang=" ...

  6. js原生_获取url键值对

    思路: 1.先对url进行处理,获取 ?后的字符串 postid=10457794&actiontip=保存修改成功') 2. 字符串通过&标识,不同参数转为数组 ["pos ...

  7. JS原生方法被覆盖后的恢复办法

    alert 被覆盖 今天装修博客园,调试了下JS代码发现 alert() 方法被官方覆盖了,查看源码得知 alert 的功能被替换成了 console.log. 恢复 var _frame = doc ...

  8. js原生方法的重写

    讲干货,不啰嗦,通过prototype可以获取到JavaScript的原型对象,进而可以在对象原型上添加新的属性和方法,当该方法与原方法名称一样时会覆盖原方法既:重写,当不一样时既:添加 如:实现数组 ...

  9. JS原生方法实现jQuery的ready()

    浏览器加载页面的顺序: 1. 解析HTML结构 2. 加载外部脚本和样式表文件 3. 解析并执行脚本代码 4. 构造HTML DOM模型==ready() 5. 加载图片等组件 6. 页面加载完毕== ...

随机推荐

  1. github 客户端总是登录失败,提示密码错误

    把输入法调成英文即可!!

  2. OtherStream

    import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.DataInputStream; import ...

  3. vue经验总结

    1. vue中获取dom节点时机 vue组件中获取dom节点一定要在mounted周期之后的下一次事件循环,包括 component.$refs,component.$el,component.$ch ...

  4. C++ vector 的 begin()、end()、front()、back() 区别

    STL中实现源码可见:http://www.cplusplus.com/reference/vector/vector/begin/ 一.begin函数 函数原型: iterator begin(); ...

  5. root Android 模拟器

    参考文档:http://blog.csdn.net/xbalien29/article/details/22661479 本文以2.3.3版本系统为目标. 一 准备工作 首先我们需要准备3样工具:su ...

  6. react中对props.children进行操作

    之前写的更多的时候是直接使用简写 {props.children} 这样就可以了,但是当有时候需要对传入的子组件进行一些操作的时候需要用到React.Children方法 {React.Childre ...

  7. JavaScript (JS)基础:DOM 浅析 (含数组Array、字符串String基本方法解析)

    ①文本对象document: 例如:document.getElementById()    只获取一个对象          document.getElementsByTagName()   获取 ...

  8. 海拔(bzoj 2007)

    Description YT市是一个规划良好的城市,城市被东西向和南北向的主干道划分为n×n个区域.简单起见,可以将YT市看作一个 正方形,每一个区域也可看作一个正方形.从而,YT城市中包括(n+1) ...

  9. Python操作MySQL[转]

    本篇对于Python操作MySQL主要使用两种方式: 1.原生模块pymsql. 2.ORM框架SQLAchemy. pymsql pymsql是Python中操作MySQL的模块,其使用方法和MyS ...

  10. HDU4305 Lightning

    There are N robots standing on the ground (Don't know why. Don't know how). Suddenly the sky turns i ...