o = node 重新赋值
# 具体遇到的问题
教程中是在第二部分中,重新将o进行赋值一遍 o = node, 可不可以重新定义一个变量 var n = node呢?还是说一定要用o?
# 报错信息的截图
# 相关课程内容截图
# 尝试过的解决思路和结果
# 粘贴全部相关代码,切记添加代码注释(请勿截图)
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>封装节点关系函数</title>
</head>
<body>
<div id="box">
<p id="fpara">我是段落fpara</p>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
我是干扰文本
<!-- 我是注释 -->
<p id="para">
我是段落para
<span>1</span>
<span>2</span>
<span>3</span>
</p>
<p>我是段落</p>
<p>我是段落</p>
<p>我是段落</p>
<p id="lpara">我是段落lpara</p>
</div>
<script>
var box = document.getElementById('box');
var para = document.getElementById('para');
var fpara = document.getElementById('fpara');
function getAllElementSibling(node){
var o = node;
var prevs = [];
while (o.previousSibling != null) {
if (o.previousSibling.nodeType == 1){
prevs.unshift(o.previousSibling);
}
o = o.previousSibling;
}
var nexts = [];
var n = node;
while (n.nextSibling != null) {
if (n.nextSibling.nodeType == 1){
nexts.push(n.nextSibling);
}
n = n.nextSibling;
}
return prevs.concat(nexts);
}
console.log(getAllElementSibling(para));
</script>
</body>
</html>
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星