Javascript 基于文档动态创建摘要

Javascript 基于文档动态创建摘要,javascript,jquery,dom,Javascript,Jquery,Dom,我找了很多,但什么也没找到 后端在一个页面中打印一个完整的文档,我需要根据标题(从h2到h6)创建一个摘要,比如MicrosoftOfficeWord 我将创建一个嵌套的有序列表,如下所示,但具有更多级别: 1. Lorem Ipsum 1.1 Lorem ipsum 1.2 Lorem ipsum 2. Lorem ipsum 对不起,我没有代码,因为这是一个非常具体的事情,我不知道如何开始:p 你可以给我发个密码或想法 对不起,有英语错误 编辑: 为了更好地解释,java

我找了很多,但什么也没找到

后端在一个页面中打印一个完整的文档,我需要根据标题(从h2到h6)创建一个摘要,比如MicrosoftOfficeWord

我将创建一个嵌套的有序列表,如下所示,但具有更多级别:

1. Lorem Ipsum
    1.1 Lorem ipsum
    1.2 Lorem ipsum
2. Lorem ipsum
对不起,我没有代码,因为这是一个非常具体的事情,我不知道如何开始:p 你可以给我发个密码或想法

对不起,有英语错误

编辑:

为了更好地解释,javascript应该使用div.text呈现一个类似于小提琴的有序列表。

更新:

为此使用jquery,例如:

<!doctype html>
<html lang="en">
<head>
  <meta charset="utf-8">
  <title>find demo</title>
  <script src="//code.jquery.com/jquery-1.10.2.js"></script>
</head>
<body>

<ol type="1">
    <h1>Main Title</h1>
</ol>

<script>
  $("h1").replaceWith( "<li>" + $("h1").text() + "</li>" );
</script>

</body>
</html>

查找演示
主标题
$(“h1”)。替换为(“
  • ”+$(“h1”).text()+”
  • ”;
    我们开始吧。继续,在下面或()尝试。向下滚动至“目录”

    我们要做的是迭代所有的头(
    h1
    h2
    ,等等),并创建一个堆栈,如果我们遇到下一个级别的头(例如,如果我们在级别
    h2
    ,并且遇到
    h3
    ),则在其中添加(
    push
    )元素。然而,当我们到达较低级别的头时,我们从堆栈中移除元素(
    pop
    ),直到到达顶层(例如,如果我们在
    h5
    级别,下一个是
    h2
    ,我们将
    pop
    四个元素:
    h5
    h4
    h3
    h2

    请注意,我只是稍微更新了一下HTML,并在标题区域周围创建了一个
    div#content

    $(函数(){
    “严格使用”;
    var$content=$('#content'),//我们应该在哪里查找标题。
    toc=document.createElement('ol'),//主“目录”元素。
    listStack=[];
    //首先查找所有标题。
    $content.children('h1,h2,h3,h4,h5,h6')。每个(函数(索引,el){
    var currentHeader=el,
    currentLevel=Number(currentHeader.tagName.substr(1)),//获取此标头的级别。
    lastListItem=listStack[listStack.length-1],
    lastListItemLevel=lastListItem?lastListItem.level:0,//获取上一个标头的级别。
    吴,李,;
    //确保新收割台位于更高级别。
    //当我们没有到达第一个最近的父标题(较高级别)时弹出。
    
    虽然(currentLevel它是什么类型的文档?HTML?PDF?你能给我们一个HTML的示例吗?基于该HTML,你想要什么精确的输出?是什么触发了
    或子
  • 的创建?上面带有标题的HTML应该打印该列表。我想你没有得到,我需要创建一个基于在标题标签上,然后添加到嵌套的有序列表中,按照正确的顺序,h2将是h1的子对象,h3将是h2的子对象。我无法隐藏文本。我刚刚更新了答案,您可以使用一些jquery函数,如replaceWith或append来修改输出