您如何仅将 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 = "";