您如何仅将 div 的曾孙...-子项的内容设置为 ''?
How do you set only the content of the grand-grand-...-children of a div to ''?
你有这样一个html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>
</title>
</head>
<body>
<div>
<div>
How are you?
</div>
<div>
<div>
<div>
<p>
Hello
</p>
</div>
</div>
</div>
</div>
<div>
</div>
</body>
</html>
如何在适用于大多数页面的用户脚本中仅将 "nestedmost" div 的内容设置为 ''?在此上下文中,How are you
保留但 <p>Hello</p>
被删除。
上下文:目标是自动过滤包含特定关键字但不包含整个页面的论坛帖子(即最小单位)或文章,因为嵌套的地方有关键字。
我不完全清楚你在找什么,但这里有一个函数可以找到文档主体树中最深的 div
:
function find_deepest_div() {
var deepest_div;
var deepest_div_depth = -1;
function search(current, depth) {
if (current.tagName === "DIV" && depth > deepest_div_depth) {
deepest_div = current;
deepest_div_depth = depth;
}
for (var i = 0, len = current.children.length; i < len; i++)
search(current.children[i], depth + 1);
}
search(document.body, 0);
return deepest_div;
}
你可以用它来删除最深div的内容,像这样:
var deepest_div = find_deepest_div();
if (deepest_div) deepest_div.innerHTML = "";
你有这样一个html
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<meta http-equiv="content-type" content="text/html; charset=utf-8">
<title>
</title>
</head>
<body>
<div>
<div>
How are you?
</div>
<div>
<div>
<div>
<p>
Hello
</p>
</div>
</div>
</div>
</div>
<div>
</div>
</body>
</html>
如何在适用于大多数页面的用户脚本中仅将 "nestedmost" div 的内容设置为 ''?在此上下文中,How are you
保留但 <p>Hello</p>
被删除。
上下文:目标是自动过滤包含特定关键字但不包含整个页面的论坛帖子(即最小单位)或文章,因为嵌套的地方有关键字。
我不完全清楚你在找什么,但这里有一个函数可以找到文档主体树中最深的 div
:
function find_deepest_div() {
var deepest_div;
var deepest_div_depth = -1;
function search(current, depth) {
if (current.tagName === "DIV" && depth > deepest_div_depth) {
deepest_div = current;
deepest_div_depth = depth;
}
for (var i = 0, len = current.children.length; i < len; i++)
search(current.children[i], depth + 1);
}
search(document.body, 0);
return deepest_div;
}
你可以用它来删除最深div的内容,像这样:
var deepest_div = find_deepest_div();
if (deepest_div) deepest_div.innerHTML = "";