如何遍历所有注释节点,并进行DOM操作!

chen_2016_web 2017-11-04 06:13:12
如题,先看看HTML代码:

<div id="code">
<!--第一个注释节点-->
<!--第一个注释节点-->
//第二个注释节点
//第二个注释节点
/*第三个注释节点*/
/*第三个注释节点*/
/*第三个注释节点*/
</div>

经过JS或JQ遍历后,在页面显示,如下内容:

<!--第一个注释节点-->
<!--第一个注释节点-->
//第二个注释节点
//第二个注释节点
/*第三个注释节点*/
/*第三个注释节点*/
/*第三个注释节点*/

并且,每个注释节点添加span标签,是每个注释节点都要添加。
F12下可以看见:

<div id="change">
<span><!--第一个注释节点--></span>
<span><!--第一个注释节点--></span>
<span><!--第一个注释节点--></span>
<span><!--第一个注释节点--></span>
<span><!--第一个注释节点--></span>
<span>//第二个注释节点</span>
<span>//第二个注释节点</span>
<span>/*第三个注释节点*/</span>
<span>/*第三个注释节点*/</span>
<span>/*第三个注释节点*/</span>
</div>

#change是装生成的节点的容器。
...全文
352 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
chen_2016_web 2017-11-05
  • 打赏
  • 举报
回复
引用 1 楼 Free_Wind22 的回复:

window.onload = function(){
	var code = document.querySelector("#code").innerHTML;
	var change = document.createElement("div");
	change.id = "change";
	var reg = /<!--[\s\S]*?-->|\/\/.*?$|\/\*[\s\S]*?\*\//img;
	code = code.replace(reg, x => "<span>" + x + "</span>");
	change.innerHTML = code;
	document.body.appendChild(change);
};
自己解决了,谢谢!····
chen_2016_web 2017-11-05
  • 打赏
  • 举报
回复
引用 1 楼 Free_Wind22 的回复:

window.onload = function(){
	var code = document.querySelector("#code").innerHTML;
	var change = document.createElement("div");
	change.id = "change";
	var reg = /<!--[\s\S]*?-->|\/\/.*?$|\/\*[\s\S]*?\*\//img;
	code = code.replace(reg, x => "<span>" + x + "</span>");
	change.innerHTML = code;
	document.body.appendChild(change);
};
想问一下,这里的x => "<span>" + x + "</span>"是什么意思?ES6?这里还有一个问题,HTML的注释没有显示出来,也就是页面要显示<!--第一个注释节点-->。
chen_2016_web 2017-11-05
  • 打赏
  • 举报
回复
引用 1 楼 Free_Wind22 的回复:

window.onload = function(){
	var code = document.querySelector("#code").innerHTML;
	var change = document.createElement("div");
	change.id = "change";
	var reg = /<!--[\s\S]*?-->|\/\/.*?$|\/\*[\s\S]*?\*\//img;
	code = code.replace(reg, x => "<span>" + x + "</span>");
	change.innerHTML = code;
	document.body.appendChild(change);
};
想问一下,这里的x => "<span>" + x + "</span>"是什么意思?ES6?
2017-11-05
  • 打赏
  • 举报
回复

window.onload = function(){
	var code = document.querySelector("#code").innerHTML;
	var change = document.createElement("div");
	change.id = "change";
	var reg = /<!--[\s\S]*?-->|\/\/.*?$|\/\*[\s\S]*?\*\//img;
	code = code.replace(reg, x => "<span>" + x + "</span>");
	change.innerHTML = code;
	document.body.appendChild(change);
};

87,993

社区成员

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

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