使用jQuery获取两个H2之间的所有H3
我正在用jQuery构建一个动态摘要生成器。我想在页面上列出所有H2和H3 我是为H2做的,这是我的代码: 编辑:我只更新了代码,包括H2和H3,但几乎没有错误。使用jQuery获取两个H2之间的所有H3,jquery,html,Jquery,Html,我正在用jQuery构建一个动态摘要生成器。我想在页面上列出所有H2和H3 我是为H2做的,这是我的代码: 编辑:我只更新了代码,包括H2和H3,但几乎没有错误。 var计数器=0; $('h2')。每个(函数(){ 计数器++; $(this.attr(“id”,“title-”+计数器); $('摘要')。附加(''); // var计数器_2=0; $('h2~h3')。每个(函数(){ 计数器2++; $(this).filter(函数(){ 返回$(this.nextAll('h2'
var计数器=0;
$('h2')。每个(函数(){
计数器++;
$(this.attr(“id”,“title-”+计数器);
$('摘要')。附加('');
//
var计数器_2=0;
$('h2~h3')。每个(函数(){
计数器2++;
$(this).filter(函数(){
返回$(this.nextAll('h2').length
}).attr(“id”,“副标题-”+计数器2);
$('摘要')。附加('');
});
});
博客帖子示例:
<h2>Post title 1</h2>
<h3>Post subtitle 1</h3>
<h3>Post subtitle 2</h3>
<h2>Post title 2</h2>
<h3>Post subtitle 3</h3>
<h3>Post subtitle 4</h3>
文章标题1
后副标题1
后副标题2
职位名称2
后副标题3
后副标题4
我的代码结果:
<h2 id="title-1">Post title 1</h2>
<h3 id="subtitle-1">Post subtitle 1</h3>
<h3 id="subtitle-2">Post subtitle 2</h3>
<h2 id="title-2">Post title 2</h2>
<h3 id="subtitle-3">Post subtitle 3</h3>
<h3 id="subtitle-4">Post subtitle 4</h3>
<a href="#title-1">Post title 1</a>
<a href="#subtitle-1">Post subtitle 1</a>
<a href="#subtitle-2">Post subtitle 2</a>
<a href="#subtitle-3">Post subtitle 3</a>
<a href="#subtitle-4">Post subtitle 4</a>
<a href="#title-2">Post title 2</a>
<a href="#subtitle-1">Post subtitle 1</a>
<a href="#subtitle-2">Post subtitle 2</a>
<a href="#subtitle-3">Post subtitle 3</a>
<a href="#subtitle-4">Post subtitle 4</a>
文章标题1
后副标题1
后副标题2
职位名称2
后副标题3
后副标题4
预期结果:
<h2 id="title-1">Post title 1</h2>
<h3 id="subtitle-1">Post subtitle 1</h3>
<h3 id="subtitle-2">Post subtitle 2</h3>
<h2 id="title-2">Post title 2</h2>
<h3 id="subtitle-3">Post subtitle 3</h3>
<h3 id="subtitle-4">Post subtitle 4</h3>
<a href="#title-1">Post title 1</a>
<a href="#subtitle-1">Post subtitle 1</a>
<a href="#subtitle-2">Post subtitle 2</a>
<a href="#title-2">Post title 2</a>
<a href="#subtitle-3">Post subtitle 3</a>
<a href="#subtitle-4">Post subtitle 4</a>
文章标题1
后副标题1
后副标题2
职位名称2
后副标题3
后副标题4
我不知道如何才能得到两个H2之间的所有H3,这样任何帮助都会有帮助。使用nextUntil()
和filter()
$('h2')。每个(函数(i){
$('摘要')。附加('');
$(this).nextUntil('h2')。filter('h3')。每个(函数(j){
$('摘要')。附加('');
});
});代码>
a{
显示:块;
}
职位名称1
后副标题1
后副标题2
职位名称2
后副标题3
后副标题4
使用nextUntil()
和filter()
$('h2')。每个(函数(i){
$('摘要')。附加('');
$(this).nextUntil('h2')。filter('h3')。每个(函数(j){
$('摘要')。附加('');
});
});代码>
a{
显示:块;
}
职位名称1
后副标题1
后副标题2
职位名称2
后副标题3
后副标题4
我认为您应该添加一个片段,显示您期望的结果#摘要HTML。@drekbour我刚刚添加了它!我认为您应该添加一个片段,显示您期望的结果#摘要HTML。@drekbour我刚刚添加了它!我只是用filter()更新了我的代码,但是用H3Welcome出现了一些错误。很高兴听到:)我只是用filter()更新了我的代码,但是用H3Welcome出现了一些错误。很高兴听到这个消息:)