Javascript 列出所有h1、h2

Javascript 列出所有h1、h2,javascript,html,Javascript,Html,我用它列出所有如何将作为嵌套列表插入? 我应该检测特定内部的所有,即使用双循环,还是有更直接的方法 我不知道该用哪种方法 var-toc=document.getElementById('toc'); var h1=document.getElementsByTagName(“h1”); 对于(变量i=0;i

我用它列出所有
如何将
作为嵌套列表插入?

我应该检测特定
内部的所有
,即使用双循环,还是有更直接的方法

我不知道该用哪种方法

var-toc=document.getElementById('toc');
var h1=document.getElementsByTagName(“h1”);
对于(变量i=0;i
目录:
___ TitleA 标题 副标题B1 副标题B2 标题 有头衔的
SubTitleD1
您不能将选择器与
getElementsByTagName()
组合使用

可以使用
querySelectorAll('h1 h2')
:在节点列表中返回所有
h1
h2
元素,您可以循环创建toc:

var-toc=document.getElementById('toc');
var h1h2=document.queryselectoral(“h1,h2”);
对于(变量i=0;i
目录:
___ TitleA 标题 副标题B1 副标题B2 标题 有头衔的
SubTitleD1
您不能将选择器与
getElementsByTagName()
组合使用

可以使用
querySelectorAll('h1 h2')
:在节点列表中返回所有
h1
h2
元素,您可以循环创建toc:

var-toc=document.getElementById('toc');
var h1h2=document.queryselectoral(“h1,h2”);
对于(变量i=0;i
目录:
___ TitleA 标题 副标题B1 副标题B2 标题 有头衔的 SubTitleD1
获取所有
h1
h2
元素的有序列表。然后,您可以处理该列表以创建带有副标题的嵌套目录:

//解析ToC内容
var list=document.querySelectorAll(“h1,h2”);//获取所有h1和h2
var tocArr=[],cur;//持有ToC的结构
对于(变量i=0;i0){
var ul=document.createElement(“ul”);
用于(ch中的var i2){
var li2=document.createElement(“li”);
li2.textContent=ch[i2];
ul.儿童(li2);
}
李.儿童(ul);
}
总目标儿童(李);
}
目录:
___ TitleA 标题 副标题B1 副标题B2 标题 有头衔的 SubTitleD1
获取所有
h1
h2
元素的有序列表。然后,您可以处理该列表以创建带有副标题的嵌套目录:

//解析ToC内容
var list=document.querySelectorAll(“h1,h2”);//获取所有h1和h2
var tocArr=[],cur;//持有ToC的结构
对于(变量i=0;i0){
var ul=document.createElement(“ul”);
用于(ch中的var i2){
var li2=document.createElement(“li”);
li2.textContent=ch[i2];
ul.儿童(li2);
}
李.儿童(ul);
}
总目标儿童(李);
}
目录:
___ TitleA 标题 副标题B1 副标题B2 标题 有头衔的
字幕1
谢谢,聪明的解决方案!作为嵌套列表,您将如何执行它?i、 e.字幕应为child
。这是我有点迷路的部分。谢谢,聪明的解决方案!作为嵌套列表,您将如何执行它?i、 e.字幕应为child
。这是我有点迷路的部分。非常感谢!我们确定在执行
==“H1”
时总是大写吗?From:“在标记为HTML文档的DOM树中的HTML元素上,tagName以大写形式返回元素名。”(如果您觉得不舒服,可以添加
.toUpperCase()
)非常感谢!我们确定在执行
==“H1”
时总是大写吗?From:“在标记为HTML文档的DOM树中的HTML元素上,tagName以大写形式返回元素名。”(如果您觉得不舒服,可以添加
.toUpperCase()