【发布时间】:2019-01-30 13:49:44
【问题描述】:
我正在尝试使用 JS 从我的 FE 环境中删除空的 H1 标签。在我删除它之后,机器人和爬虫仍然可以看到这些标签 = 它们仍然可以通过页面源看到,DOM 节点也被加载等等..
有没有办法从 DOM 中完全删除一个元素?
我的 html 是这样的:
<a href="/link"><img src="banner.jpg" title="Title" />
<h1 class="nivo-h1-title">
<span></span>
</h1>
</a>
首先我尝试了jQuery方法:
$( document ).ready(function() {
$( ".nivo-h1-title" ).remove();
});
通过这种方式,元素会从最终的 HTML 中移除,但在您通过页面源查看页面时仍然存在,并且机器人/爬虫仍然可以看到它们。 我进行了很多研究并尝试使用来自此链接Remove all child elements of a DOM node in JavaScript - removeChild with parentNode 的代码的纯Javascript方法:
var elements = document.getElementsByClassName('nivo-h1-title');
while(elements.length > 0){
elements[0].parentNode.removeChild(elements[0]);
}
但是 html 元素仍然在 DOM 中 = 仍然可以通过 Page Source 看到。
我已经检查过这个Completly remove a tag from the source 和其他人,但是 是否有办法做到这一点 - 完全从源中删除元素?
【问题讨论】:
-
Javascript 可以删除 DOM 节点,但不能从页面源中删除它们(因为它们是在客户端执行 javascript 之前提供的)。您可能需要处理该服务器端。
标签: javascript jquery html dom