2 ybdt1201 ybdt1201 于 2016.04.08 20:00 提问

求大神解释下previoussibling与previouselementsibling

查了下previoussibling的解释:
返回列表项的 previousSibling(前一个同胞节点);
查了下previoussibling的解释:
previousElementSibling //前一个兄弟元素。
这样看起来二者应该是相同意义;
然而我在写代码的时候,发现用previousElementSibling可以捕捉到前一个同胞节点,
用previoussibling却不能?
所以想问下这两者是不是相同的,如果不同有什么区别

3个回答

perhapschen
perhapschen   2016.04.09 09:09

你把下面这一段运行一下就明白了,previousSibling指的是包含**文本节点**的上一个兄弟节点,而previousElementSibling指的是上一个兄弟元素节点

 <div id='div1'></div>
<div id='div2'></div>
<div id='div3'></div>

<script>

var o = document.getElementById("div2").previousSibling;
var p = document.getElementById("div2").previousElementSibling;
console.log(o);
console.log(p);

</script>
devmiao
devmiao   Ds   Rxr 2016.04.09 06:06
Ruanderen
Ruanderen   2017.07.27 10:17

previoussibling获取的兄弟节点是所有节点,包括文本节点;
previouselementsibling获取的的兄弟节点是元素节点,所以用的时候要区分了;

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!