在第一轮结果后重新初始化搜索
[英] Reinitialize search after first round of results
本文介绍了在第一轮结果后重新初始化搜索的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在我的代码中,我有一个带有清除"按钮和搜索"按钮的 input
字段.
清除"按钮会删除计数器、清空输入字段、删除突出显示并隐藏显示的折叠项目,但不会重新初始化搜索.
问题是我需要检查输入的值是否和以前一样,否则我应该开始新的搜索.
我怎样才能做到这一点?
$(document).ready(function() {//console.log(occurrences);$(document).on("click", "#findWord", function(e) {让出现次数 = [];e.preventDefault();//清除();让 x = document.querySelector("#searchedWord").value;let error = document.querySelector("#message");如果 (x == "") {error.style.display = "block";error.style.color = "红色";} 别的 {error.style.display = "无";高亮字();displayOcc();}//让 clickInput = document.querySelector('#searchedWord');让 clickClear = document.querySelector("#clear");//使清除按钮出现在输入字段上单击//clickInput.addEventListener('input', function(){//clickClear.style.display = 'block';//});clickClear.addEventListener("click", clear);函数清除(){//从输入中获取搜索词让 clickInput = document.querySelector("#searchedWord");clickInput.value = "";var spans = $(".reports-list-item__title--compendium > mark");//console.log(spans);spans.each(function() {spans.contents().unwrap();});出现次数.拼接(0,出现次数.长度);//重置我们的标签$("#count").html("");$("#current").html("");$(".timeline-compendium__content").collapse("隐藏");$(".timeline-type .timeline-type__content").collapse("隐藏");}函数高亮字(){//根据我们的术语创建一个正则表达式const word = document.getElementById("searchedWord").value;const r = new RegExp("(" + word + ")", "ig");$(".reports-list-item__title--compendium").each(function(i) {如果 ($(this).text().match(r)) {//console.log($(this).text().match(r));//获取所有匹配项var 匹配 = $(this).text().match(r);//console.log(matches);//遍历它们$.each(匹配,函数(){//将本节的索引压入数组出现次数.push(i);//console.log(occurrences);});//用我们的 `found` 跨度包装每个找到的搜索词以突出显示它$(this).html($(this).text().replace(r, "<mark>$&</mark>"));$(this).closest(".timeline-compendium__content").collapse("show");//滚动到突出显示的单词//$(this).closest(".timeline-compendium__content")[0].scrollIntoView();$(this).closest('.timeline-type .timeline-type__content').collapse('show');}});}函数 displayOcc() {让 lengthOccurrences = 出现次数.长度;console.log('出现的长度(次数)是:' + ' ' + lengthOccurrences);让 currViewMatch = Number(document.querySelector("#current").textContent);console.log('当前查看的匹配次数为:' + ' ' + currViewMatch);//如果我们当前正在查看匹配项,则递增以便我们移动到下一个匹配项currViewMatch = currViewMatch >0 ?currViewMatch + 1 : 0;//如果增加的数字大于匹配的数量,则将其重置为 0currViewMatch = currViewMatch >长度发生 ?1 : currViewMatch;//如果这是第一次点击并且我们找到了匹配项,则将当前设置为第一个匹配项currViewMatch = currViewMatch == 0 &&lengthOccurrences >0 ?1 : currViewMatch;让 insertNbrOcc = lengthOccurrences >0 ?" of " + lengthOccurrences : "匹配发现";////设置找到的匹配数let count = document.querySelector("#count");count.textContent = insertNbrOcc;////设置当前查看的匹配数量让 nbrViewMatch = document.querySelector("#current");nbrViewMatch.textContent = currViewMatch;}});$("#btnNext").click(test);变量 i = 0;功能测试() {var pickHighlights = document.querySelectorAll("mark");var viewportOffset = pickHighlights[i].getBoundingClientRect();//这些是相对于视口的var top = viewportOffset.top;window.scrollTo(0, top);我++;if (i >= pickHighlights.length) {我 = 0;}}});
.found {背景颜色:黄色;}#标签 {左边距:15px;字体大小:16px;}.timeline-纲要{左边距:2rem;}.timeline-type__header {宽度:400px;高度:50px;背景颜色:rgb(46, 177, 100);显示:弹性;对齐项目:居中;对齐内容:居中;白颜色;边框:1px纯白色;}.timeline-type__header:hover {白颜色;背景颜色:rgb(35, 119, 70);}#标签内容{边框:1px纯红色;}输入[类型=文本] {宽度:80%;填充:12px 20px;边距:8px 0;box-sizing: 边框框;}输入#findWord {背景颜色:rgb(248, 211, 3);边界:无;颜色:黑色;填充:15px 32px;文本对齐:居中;文字装饰:无;显示:内联块;字体大小:16px;}#清除 {宽度:25px;高度:25px;位置:绝对;顶部:20px;右:150px;行高:25px;字体大小:14px;左边距:8px;字体粗细:粗体;光标:指针;颜色:#fff;背景颜色:红色;边界:无;边界半径:50%;}#信息 {显示:无;字体大小:1em;}#btn下一个{左边距:0.5rem;}标记 {背景颜色:黄色!重要;}.stickyBar {位置:粘性;顶部:0;z-索引:1;背景颜色:白色;}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="样式表"/><script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script><script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script><div class="容器"><div class="rowstickyBar"><div class="col-sm-12 mb-2"><div id="searchForm" class="d-flex flex-column"><label for="searchedWord">搜索... </label><div class="col-sm-12 p-0 d-flex"><input type="text" id="searchedWord" placeholder="Search..." aria-labelledby="searchedWord" value="cool" class="form-control form-control-lg"/><button type="submit" id="findWord" class="btn btn-primary">搜索</button><input type="button" id="btnNext" value="next"/><div id="clear" role="button">X</div>
<div class="col-sm-6 mb-2"><div id="标签"><span id="current"></span><span id="计数"></span><small role="alert" id="message" aria-hidden="true">请输入一个词开始搜索</small>
<div class="row"><div class="col"><section class="timeline-compendium"><a class="btn timeline-compendium__header" data-toggle="collapse" href="#introduction" role="button" aria-expanded="true" aria-controls="introduction"><div class="row align-items-center"><div class="col-auto">1<sup>st</sup>可折叠项目
<div class="col"><span></span></div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true" data-original-title="折叠/展开"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-compendium__content collapse" id="介绍"><div class="timeline-type"><a data-toggle="collapse" href="#foreword" role="button" aria-expanded="false" aria-controls="foreword"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">1</div><div class="coltimeline-type__title">第一个嵌套的可折叠</div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="foreword"><ul class="reports-list"><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__title reports-list-item__title--compendium">第一酷</div><div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
</节><!-- 第 2 节 --><section class="timeline-compendium"><a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleA" role="button" aria-expanded="false" aria-controls="titleA"><div class="row align-items-center"><div class="col-auto">2<sup>nd</sup></div><div class="col"><span>可折叠项目</span></div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true" data-original-title="折叠/展开"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-compendium__content collapse" id="titleA"><div class="timeline-type"><a class="accordion" data-toggle="collapse" href="#summary" role="button" aria-expanded="false" aria-controls="summary" class="collapsed"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">2</div><div class="col timeline-type__title">第二个嵌套可折叠</div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="summary"><ul class="reports-list"><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__title reports-list-item__title--compendium">第二酷</div><div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
</节><!-- 第 3 节 --><section class="timeline-compendium"><a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleB" role="button" aria-expanded="false" aria-controls="titleB"><div class="row align-items-center"><div class="col-auto">3<sup>rd</sup></div><div class="col"><span>可折叠项目</span>
<div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">折叠/展开此项</span></div>
</a><div class="timeline-compendium__content collapse" id="titleB"><div class="timeline-type"><a data-toggle="collapse" href="#chapterB0" role="button" aria-expanded="false" aria-controls="chapterB0" class="collapsed"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">3</div><div class="coltimeline-type__title">第三个嵌套可折叠</div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="chapterB0"><ul class="reports-list"><li><a class="reports-list-item reports-list-item--compendium"><div class="col-autoreports-list-item__titlereports-list-item__title--nolink">无链接</div></a><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__titlereports-list-item__title--compendium">一些带有链接的内容很酷
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__titlereports-list-item__title--compendium">一些带有链接的内容
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
<div class="timeline-type"><a data-toggle="collapse" href="#chapterB2" role="button" aria-expanded="false" aria-controls="chapterB2" class="collapsed"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">4</div><div class="coltimeline-type__title">第四个嵌套可折叠
<div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="chapterB2"><ul class="reports-list"><li><a class="reports-list-item reports-list-item--compendium"><div class="col reports-list-item__titlereports-list-item__title--nolink">无链接</div></a><li><a href="#" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__titlereports-list-item__title--compendium">一些带有链接的内容
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
</节>
解决方案
当您在 findword 按钮的单击处理程序中单击搜索"按钮时,您可以清除旧标记并重置 i 索引.我在下面添加了代码.
//清除旧标记var spans = $(.reports-list-item__title--compendium > mark");//console.log(spans);spans.each(函数(){spans.contents().unwrap();});//重置我我 = 0;
$(document).ready(function () {//console.log(occurrences);变量 i = 0;$(document).on("click", "#findWord", function (e) {让出现次数 = [];e.preventDefault();//清除旧标记var spans = $(".reports-list-item__title--compendium > mark");//console.log(spans);spans.each(函数(){spans.contents().unwrap();});//重置我我 = 0;让 x = document.querySelector("#searchedWord").value;let error = document.querySelector("#message");如果 (x == "") {error.style.display = "block";error.style.color = "红色";} 别的 {error.style.display = "无";高亮字();displayOcc();}//让 clickInput = document.querySelector('#searchedWord');让 clickClear = document.querySelector("#clear");//使清除按钮出现在输入字段上单击//clickInput.addEventListener('input', function(){//clickClear.style.display = 'block';//});clickClear.addEventListener("click", clear);函数清除(){//从输入中获取搜索词让 clickInput = document.querySelector("#searchedWord");clickInput.value = "";var spans = $(".reports-list-item__title--compendium > mark");//console.log(spans);spans.each(函数(){spans.contents().unwrap();});出现次数.拼接(0,出现次数.长度);//重置我们的标签$("#count").html("");$("#current").html("");$(".timeline-compendium__content").collapse("隐藏");$(".timeline-type .timeline-type__content").collapse("隐藏");}函数高亮字(){//根据我们的术语创建一个正则表达式const word = document.getElementById("searchedWord").value;const r = new RegExp("(" + word + ")", "ig");$(".reports-list-item__title--compendium").each(function (i) {如果 ($(this).text().match(r)) {//console.log($(this).text().match(r));//获取所有匹配项var 匹配 = $(this).text().match(r);//console.log(matches);//遍历它们$.each(matches, function () {//将本节的索引压入数组出现次数.push(i);//console.log(occurrences);});//用我们的 `found` 跨度包装每个找到的搜索词以突出显示它$(this).html($(this).text().replace(r, "<mark>$&</mark>"));$(this).closest(".timeline-compendium__content").collapse("show");//滚动到突出显示的单词//$(this).closest(".timeline-compendium__content")[0].scrollIntoView();$(这个).closest(".timeline-type .timeline-type__content").collapse("show");}});}函数 displayOcc() {让 lengthOccurrences = 出现次数.长度;控制台.日志(出现的长度(次数)是:"+"+lengthOccurrences);让 currViewMatch = Number(document.querySelector("#current").textContent);console.log("当前查看的匹配数为:" + " " + currViewMatch);//如果我们当前正在查看匹配项,则递增以便我们移动到下一个匹配项currViewMatch = currViewMatch >0 ?currViewMatch + 1 : 0;//如果增加的数字大于匹配的数量,则将其重置为 0currViewMatch = currViewMatch >长度发生 ?1 : currViewMatch;//如果这是第一次点击并且我们找到了匹配项,则将当前设置为第一个匹配项currViewMatch =currViewMatch == 0 &&lengthOccurrences >0 ?1 : currViewMatch;让 insertNbrOcc =lengthOccurrences >0 ?" of " + lengthOccurrences : "匹配发现";////设置找到的匹配数let count = document.querySelector("#count");count.textContent = insertNbrOcc;////设置当前查看的匹配数量让 nbrViewMatch = document.querySelector("#current");nbrViewMatch.textContent = currViewMatch;}});$("#btnNext").click(test);功能测试() {控制台日志(i);var pickHighlights = document.querySelectorAll("mark");var viewportOffset = pickHighlights[i].getBoundingClientRect();//这些是相对于视口的var top = viewportOffset.top;window.scrollTo(0, top);我++;if (i >= pickHighlights.length) {我 = 0;}}});
.found {背景颜色:黄色;}#标签 {左边距:15px;字体大小:16px;}.timeline-纲要{左边距:2rem;}.timeline-type__header {宽度:400px;高度:50px;背景颜色:rgb(46, 177, 100);显示:弹性;对齐项目:居中;对齐内容:居中;白颜色;边框:1px纯白色;}.timeline-type__header:hover {白颜色;背景颜色:rgb(35, 119, 70);}#标签内容{边框:1px纯红色;}输入[类型=文本] {宽度:80%;填充:12px 20px;边距:8px 0;box-sizing: 边框框;}输入#findWord {背景颜色:rgb(248, 211, 3);边界:无;颜色:黑色;填充:15px 32px;文本对齐:居中;文字装饰:无;显示:内联块;字体大小:16px;}#清除 {宽度:25px;高度:25px;位置:绝对;顶部:20px;右:150px;行高:25px;字体大小:14px;左边距:8px;字体粗细:粗体;光标:指针;颜色:#fff;背景颜色:红色;边界:无;边界半径:50%;}#信息 {显示:无;字体大小:1em;}#btn下一个{左边距:0.5rem;}标记 {背景颜色:黄色!重要;}.stickyBar {位置:粘性;顶部:0;z-索引:1;背景颜色:白色;}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="样式表"/><script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script><script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script><script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script><div class="容器"><div class="rowstickyBar"><div class="col-sm-12 mb-2"><div id="searchForm" class="d-flex flex-column"><label for="searchedWord">搜索... </label><div class="col-sm-12 p-0 d-flex"><input type="text" id="searchedWord" placeholder="Search..." aria-labelledby="searchedWord" value="cool" class="form-control form-control-lg"/><button type="submit" id="findWord" class="btn btn-primary">搜索</button><input type="button" id="btnNext" value="next"/><div id="clear" role="button">X</div>
<div class="col-sm-6 mb-2"><div id="标签"><span id="current"></span><span id="count"></span><small role="alert" id="message" aria-hidden="true">请输入一个词开始搜索</small>
<div class="row"><div class="col"><section class="timeline-compendium"><a class="btn timeline-compendium__header" data-toggle="collapse" href="#introduction" role="button" aria-expanded="true" aria-controls="introduction"><div class="row align-items-center"><div class="col-auto">1<sup>st</sup>可折叠项目
<div class="col"><span></span></div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true" data-original-title="折叠/展开"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-compendium__content collapse" id="介绍"><div class="timeline-type"><a data-toggle="collapse" href="#foreword" role="button" aria-expanded="false" aria-controls="foreword"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">1</div><div class="coltimeline-type__title">第一个嵌套的可折叠</div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="foreword"><ul class="reports-list"><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__title reports-list-item__title--compendium">第一酷</div><div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
</节><!-- 第 2 节 --><section class="timeline-compendium"><a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleA" role="button" aria-expanded="false" aria-controls="titleA"><div class="row align-items-center"><div class="col-auto">2<sup>nd</sup></div><div class="col"><span>可折叠项目</span></div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true" data-original-title="折叠/展开"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-compendium__content collapse" id="titleA"><div class="timeline-type"><a class="accordion" data-toggle="collapse" href="#summary" role="button" aria-expanded="false" aria-controls="summary" class="collapsed"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">2</div><div class="col timeline-type__title">第二个嵌套可折叠</div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="summary"><ul class="reports-list"><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__title reports-list-item__title--compendium">第二酷</div><div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
</节><!-- 第 3 节 --><section class="timeline-compendium"><a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleB" role="button" aria-expanded="false" aria-controls="titleB"><div class="row align-items-center"><div class="col-auto">3<sup>rd</sup></div><div class="col"><span>可折叠项目</span>
<div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">折叠/展开此项</span></div>
</a><div class="timeline-compendium__content collapse" id="titleB"><div class="timeline-type"><a data-toggle="collapse" href="#chapterB0" role="button" aria-expanded="false" aria-controls="chapterB0" class="collapsed"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">3</div><div class="coltimeline-type__title">第三个嵌套可折叠</div><div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="chapterB0"><ul class="reports-list"><li><a class="reports-list-item reports-list-item--compendium"><div class="col-autoreports-list-item__titlereports-list-item__title--nolink">无链接</div></a><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__titlereports-list-item__title--compendium">一些带有链接的内容很酷
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a><li><a href="#" target="_blank" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__titlereports-list-item__title--compendium">一些带有链接的内容
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
<div class="timeline-type"><a data-toggle="collapse" href="#chapterB2" role="button" aria-expanded="false" aria-controls="chapterB2" class="collapsed"><div class="row no-gutters align-items-center"><div class="col"><div class="timeline-type__header timeline-type__header--title"><div class="row align-items-center"><div class="col-autotimeline-type__chapter">4</div><div class="coltimeline-type__title">第四个嵌套可折叠
<div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="折叠/展开" data-delay="400" aria-hidden="true"></em><span class="sr-only">收起/展开此项</span>
</a><div class="timeline-type__content collapse" id="chapterB2"><ul class="reports-list"><li><a class="reports-list-item reports-list-item--compendium"><div class="col reports-list-item__titlereports-list-item__title--nolink">无链接</div></a><li><a href="#" class="reports-list-item reports-list-item--compendium"><div class="col-auto reports-list-item__titlereports-list-item__title--compendium">一些带有链接的内容
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div></a>
</节>
In my code I have an input
field with a 'Clear' button and a 'Search' button.
The Clear button removes the counters, empties the input field, remove highlights and hides showed collapsed items but does not reinitialize the search.
The problem is that I need to check if the input value is the same as before, otherwise I should start a new search.
How can I achieve this?
$(document).ready(function() {
// console.log(occurrences);
$(document).on("click", "#findWord", function(e) {
let occurrences = [];
e.preventDefault();
// clear();
let x = document.querySelector("#searchedWord").value;
let error = document.querySelector("#message");
if (x == "") {
error.style.display = "block";
error.style.color = "red";
} else {
error.style.display = "none";
highlightWord();
displayOcc();
}
// let clickInput = document.querySelector('#searchedWord');
let clickClear = document.querySelector("#clear");
// Make clear button to appear on input field click
// clickInput.addEventListener('input', function(){
// clickClear.style.display = 'block';
// });
clickClear.addEventListener("click", clear);
function clear() {
// get the search term from the input
let clickInput = document.querySelector("#searchedWord");
clickInput.value = "";
var spans = $(".reports-list-item__title--compendium > mark");
// console.log(spans);
spans.each(function() {
spans.contents().unwrap();
});
occurrences.splice(0, occurrences.length);
// reset our labels
$("#count").html("");
$("#current").html("");
$(".timeline-compendium__content").collapse("hide");
$(".timeline-type .timeline-type__content").collapse("hide");
}
function highlightWord() {
// create a regex from our term
const word = document.getElementById("searchedWord").value;
const r = new RegExp("(" + word + ")", "ig");
$(".reports-list-item__title--compendium").each(function(i) {
if ($(this).text().match(r)) {
// console.log($(this).text().match(r));
// get all the matches
var matches = $(this).text().match(r);
// console.log(matches);
// loop through them
$.each(matches, function() {
// push the index of this section onto the array
occurrences.push(i);
// console.log(occurrences);
});
// wrap each found search term with our `found` span to highlight it
$(this).html($(this).text().replace(r, "<mark>$&</mark>"));
$(this).closest(".timeline-compendium__content").collapse("show");
// scroll to highlighted word(s)
// $(this).closest(".timeline-compendium__content")[0].scrollIntoView();
$(this).closest('.timeline-type .timeline-type__content').collapse('show');
}
});
}
function displayOcc() {
let lengthOccurrences = occurrences.length;
console.log('Length (number) of occurrences is:' + ' ' + lengthOccurrences);
let currViewMatch = Number(document.querySelector("#current").textContent);
console.log('Number of current viewed match is:' + ' ' + currViewMatch);
// if we are currently viewing a match, increment so we move to the next one
currViewMatch = currViewMatch > 0 ? currViewMatch + 1 : 0;
// if the incremented number is higher than the number of matches, reset it to 0
currViewMatch = currViewMatch > lengthOccurrences ? 1 : currViewMatch;
// if this is the first click and we found matches, set current to the first match
currViewMatch = currViewMatch == 0 && lengthOccurrences > 0 ? 1 : currViewMatch;
let insertNbrOcc = lengthOccurrences > 0 ? " of " + lengthOccurrences : " matches found";
// // set number of matches found
let count = document.querySelector("#count");
count.textContent = insertNbrOcc;
// // set number of currently viewed match
let nbrViewMatch = document.querySelector("#current");
nbrViewMatch.textContent = currViewMatch;
}
});
$("#btnNext").click(test);
var i = 0;
function test() {
var pickHighlights = document.querySelectorAll("mark");
var viewportOffset = pickHighlights[i].getBoundingClientRect();
// these are relative to the viewport
var top = viewportOffset.top;
window.scrollTo(0, top);
i++;
if (i >= pickHighlights.length) {
i = 0;
}
}
});
.found {
background-color: yellow;
}
#labels {
margin-left: 15px;
font-size: 16px;
}
.timeline-compendium {
margin-left: 2rem;
}
.timeline-type__header {
width: 400px;
height: 50px;
background-color: rgb(46, 177, 100);
display: flex;
align-items: center;
justify-content: center;
color: white;
border: 1px solid white;
}
.timeline-type__header:hover {
color: white;
background-color: rgb(35, 119, 70);
}
#tab-content {
border: 1px solid red;
}
input[type=text] {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
}
input#findWord {
background-color: rgb(248, 211, 3);
border: none;
color: black;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
#clear {
width: 25px;
height: 25px;
position: absolute;
top: 20px;
right: 150px;
line-height: 25px;
font-size: 14px;
padding-left: 8px;
font-weight: bold;
cursor: pointer;
color: #fff;
background-color: red;
border: none;
border-radius: 50%;
}
#message {
display: none;
font-size: 1em;
}
#btnNext {
margin-left: 0.5rem;
}
mark {
background-color: yellow !important;
}
.stickyBar {
position: sticky;
top: 0;
z-index: 1;
background-color: white;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<div class="container">
<div class="row stickyBar">
<div class="col-sm-12 mb-2">
<div id="searchForm" class="d-flex flex-column">
<label for="searchedWord">Search... </label>
<div class="col-sm-12 p-0 d-flex ">
<input type="text" id="searchedWord" placeholder="Search..." aria-labelledby="searchedWord" value="cool" class="form-control form-control-lg" />
<button type="submit" id="findWord" class="btn btn-primary">Search</button>
<input type="button" id="btnNext" value="next" />
<div id="clear" role="button">X</div>
</div>
</div>
</div>
<div class="col-sm-6 mb-2">
<div id="labels">
<span id="current"></span>
<span id="count"></span>
<small role="alert" id="message" aria-hidden="true">Please enter a word to start searching</small>
</div>
</div>
</div>
<div class="row">
<div class="col">
<section class="timeline-compendium">
<a class="btn timeline-compendium__header" data-toggle="collapse" href="#introduction" role="button" aria-expanded="true" aria-controls="introduction">
<div class="row align-items-center">
<div class="col-auto">1<sup>st</sup> collapsible item</div>
<div class="col"><span></span></div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true" data-original-title="Collapse/expand"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</a>
<div class="timeline-compendium__content collapse" id="introduction">
<div class="timeline-type">
<a data-toggle="collapse" href="#foreword" role="button" aria-expanded="false" aria-controls="foreword">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">1</div>
<div class="col timeline-type__title">First nested collapsible</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="foreword">
<ul class="reports-list">
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">First cool</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- section 2 -->
<section class="timeline-compendium">
<a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleA" role="button" aria-expanded="false" aria-controls="titleA">
<div class="row align-items-center">
<div class="col-auto">2<sup>nd</sup></div>
<div class="col"><span>collapsible item</span></div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true" data-original-title="Collapse/expand"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</a>
<div class="timeline-compendium__content collapse" id="titleA">
<div class="timeline-type">
<a class="accordion" data-toggle="collapse" href="#summary" role="button" aria-expanded="false" aria-controls="summary" class="collapsed">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">2</div>
<div class="col timeline-type__title">Second nested collapsible</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="summary">
<ul class="reports-list">
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">Second cool</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- section 3 -->
<section class="timeline-compendium">
<a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleB" role="button" aria-expanded="false" aria-controls="titleB">
<div class="row align-items-center">
<div class="col-auto">3<sup>rd</sup></div>
<div class="col"><span>collapsible item</span>
</div>
<div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em><span class="sr-only">Collapse/expand this item</span></div>
</div>
</a>
<div class="timeline-compendium__content collapse" id="titleB">
<div class="timeline-type">
<a data-toggle="collapse" href="#chapterB0" role="button" aria-expanded="false" aria-controls="chapterB0" class="collapsed">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">3</div>
<div class="col timeline-type__title">Third nested collapsible</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="chapterB0">
<ul class="reports-list">
<li>
<a class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--nolink">No link</div>
</a>
</li>
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">
Some content with link cool
</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">
Some content with link
</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
<div class="timeline-type">
<a data-toggle="collapse" href="#chapterB2" role="button" aria-expanded="false" aria-controls="chapterB2" class="collapsed">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">4</div>
<div class="col timeline-type__title">Fourth nested collapsible
</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="chapterB2">
<ul class="reports-list">
<li>
<a class="reports-list-item reports-list-item--compendium">
<div class="col reports-list-item__title reports-list-item__title--nolink">No link</div>
</a>
</li>
<li>
<a href="#" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">
Some content with link
</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
解决方案
You can clear the old mark and reset the i index when you click the Search button in the click handler of findword button. I added the code below.
//clear old marks
var spans = $(".reports-list-item__title--compendium > mark");
// console.log(spans);
spans.each(function () {
spans.contents().unwrap();
});
//reset i
i = 0;
$(document).ready(function () {
// console.log(occurrences);
var i = 0;
$(document).on("click", "#findWord", function (e) {
let occurrences = [];
e.preventDefault();
//clear old marks
var spans = $(".reports-list-item__title--compendium > mark");
// console.log(spans);
spans.each(function () {
spans.contents().unwrap();
});
//reset i
i = 0;
let x = document.querySelector("#searchedWord").value;
let error = document.querySelector("#message");
if (x == "") {
error.style.display = "block";
error.style.color = "red";
} else {
error.style.display = "none";
highlightWord();
displayOcc();
}
// let clickInput = document.querySelector('#searchedWord');
let clickClear = document.querySelector("#clear");
// Make clear button to appear on input field click
// clickInput.addEventListener('input', function(){
// clickClear.style.display = 'block';
// });
clickClear.addEventListener("click", clear);
function clear() {
// get the search term from the input
let clickInput = document.querySelector("#searchedWord");
clickInput.value = "";
var spans = $(".reports-list-item__title--compendium > mark");
// console.log(spans);
spans.each(function () {
spans.contents().unwrap();
});
occurrences.splice(0, occurrences.length);
// reset our labels
$("#count").html("");
$("#current").html("");
$(".timeline-compendium__content").collapse("hide");
$(".timeline-type .timeline-type__content").collapse("hide");
}
function highlightWord() {
// create a regex from our term
const word = document.getElementById("searchedWord").value;
const r = new RegExp("(" + word + ")", "ig");
$(".reports-list-item__title--compendium").each(function (i) {
if ($(this).text().match(r)) {
// console.log($(this).text().match(r));
// get all the matches
var matches = $(this).text().match(r);
// console.log(matches);
// loop through them
$.each(matches, function () {
// push the index of this section onto the array
occurrences.push(i);
// console.log(occurrences);
});
// wrap each found search term with our `found` span to highlight it
$(this).html($(this).text().replace(r, "<mark>$&</mark>"));
$(this).closest(".timeline-compendium__content").collapse("show");
// scroll to highlighted word(s)
// $(this).closest(".timeline-compendium__content")[0].scrollIntoView();
$(this)
.closest(".timeline-type .timeline-type__content")
.collapse("show");
}
});
}
function displayOcc() {
let lengthOccurrences = occurrences.length;
console.log(
"Length (number) of occurrences is:" + " " + lengthOccurrences
);
let currViewMatch = Number(
document.querySelector("#current").textContent
);
console.log("Number of current viewed match is:" + " " + currViewMatch);
// if we are currently viewing a match, increment so we move to the next one
currViewMatch = currViewMatch > 0 ? currViewMatch + 1 : 0;
// if the incremented number is higher than the number of matches, reset it to 0
currViewMatch = currViewMatch > lengthOccurrences ? 1 : currViewMatch;
// if this is the first click and we found matches, set current to the first match
currViewMatch =
currViewMatch == 0 && lengthOccurrences > 0 ? 1 : currViewMatch;
let insertNbrOcc =
lengthOccurrences > 0 ? " of " + lengthOccurrences : " matches found";
// // set number of matches found
let count = document.querySelector("#count");
count.textContent = insertNbrOcc;
// // set number of currently viewed match
let nbrViewMatch = document.querySelector("#current");
nbrViewMatch.textContent = currViewMatch;
}
});
$("#btnNext").click(test);
function test() {
console.log(i);
var pickHighlights = document.querySelectorAll("mark");
var viewportOffset = pickHighlights[i].getBoundingClientRect();
// these are relative to the viewport
var top = viewportOffset.top;
window.scrollTo(0, top);
i++;
if (i >= pickHighlights.length) {
i = 0;
}
}
});
.found {
background-color: yellow;
}
#labels {
margin-left: 15px;
font-size: 16px;
}
.timeline-compendium {
margin-left: 2rem;
}
.timeline-type__header {
width: 400px;
height: 50px;
background-color: rgb(46, 177, 100);
display: flex;
align-items: center;
justify-content: center;
color: white;
border: 1px solid white;
}
.timeline-type__header:hover {
color: white;
background-color: rgb(35, 119, 70);
}
#tab-content {
border: 1px solid red;
}
input[type=text] {
width: 80%;
padding: 12px 20px;
margin: 8px 0;
box-sizing: border-box;
}
input#findWord {
background-color: rgb(248, 211, 3);
border: none;
color: black;
padding: 15px 32px;
text-align: center;
text-decoration: none;
display: inline-block;
font-size: 16px;
}
#clear {
width: 25px;
height: 25px;
position: absolute;
top: 20px;
right: 150px;
line-height: 25px;
font-size: 14px;
padding-left: 8px;
font-weight: bold;
cursor: pointer;
color: #fff;
background-color: red;
border: none;
border-radius: 50%;
}
#message {
display: none;
font-size: 1em;
}
#btnNext {
margin-left: 0.5rem;
}
mark {
background-color: yellow !important;
}
.stickyBar {
position: sticky;
top: 0;
z-index: 1;
background-color: white;
}
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" rel="stylesheet" />
<script src="https://code.jquery.com/jquery-3.4.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/popper.js@1.16.0/dist/umd/popper.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/js/bootstrap.min.js"></script>
<div class="container">
<div class="row stickyBar">
<div class="col-sm-12 mb-2">
<div id="searchForm" class="d-flex flex-column">
<label for="searchedWord">Search... </label>
<div class="col-sm-12 p-0 d-flex ">
<input type="text" id="searchedWord" placeholder="Search..." aria-labelledby="searchedWord" value="cool" class="form-control form-control-lg" />
<button type="submit" id="findWord" class="btn btn-primary">Search</button>
<input type="button" id="btnNext" value="next" />
<div id="clear" role="button">X</div>
</div>
</div>
</div>
<div class="col-sm-6 mb-2">
<div id="labels">
<span id="current"></span>
<span id="count"></span>
<small role="alert" id="message" aria-hidden="true">Please enter a word to start searching</small>
</div>
</div>
</div>
<div class="row">
<div class="col">
<section class="timeline-compendium">
<a class="btn timeline-compendium__header" data-toggle="collapse" href="#introduction" role="button" aria-expanded="true" aria-controls="introduction">
<div class="row align-items-center">
<div class="col-auto">1<sup>st</sup> collapsible item</div>
<div class="col"><span></span></div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true" data-original-title="Collapse/expand"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</a>
<div class="timeline-compendium__content collapse" id="introduction">
<div class="timeline-type">
<a data-toggle="collapse" href="#foreword" role="button" aria-expanded="false" aria-controls="foreword">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">1</div>
<div class="col timeline-type__title">First nested collapsible</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="foreword">
<ul class="reports-list">
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">First cool</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- section 2 -->
<section class="timeline-compendium">
<a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleA" role="button" aria-expanded="false" aria-controls="titleA">
<div class="row align-items-center">
<div class="col-auto">2<sup>nd</sup></div>
<div class="col"><span>collapsible item</span></div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true" data-original-title="Collapse/expand"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</a>
<div class="timeline-compendium__content collapse" id="titleA">
<div class="timeline-type">
<a class="accordion" data-toggle="collapse" href="#summary" role="button" aria-expanded="false" aria-controls="summary" class="collapsed">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">2</div>
<div class="col timeline-type__title">Second nested collapsible</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="summary">
<ul class="reports-list">
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">Second cool</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
</div>
</section>
<!-- section 3 -->
<section class="timeline-compendium">
<a class="btn timeline-compendium__header collapsed" data-toggle="collapse" href="#titleB" role="button" aria-expanded="false" aria-controls="titleB">
<div class="row align-items-center">
<div class="col-auto">3<sup>rd</sup></div>
<div class="col"><span>collapsible item</span>
</div>
<div class="col-auto"><em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em><span class="sr-only">Collapse/expand this item</span></div>
</div>
</a>
<div class="timeline-compendium__content collapse" id="titleB">
<div class="timeline-type">
<a data-toggle="collapse" href="#chapterB0" role="button" aria-expanded="false" aria-controls="chapterB0" class="collapsed">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">3</div>
<div class="col timeline-type__title">Third nested collapsible</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="chapterB0">
<ul class="reports-list">
<li>
<a class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--nolink">No link</div>
</a>
</li>
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">
Some content with link cool
</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
<li>
<a href="#" target="_blank" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">
Some content with link
</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
<div class="timeline-type">
<a data-toggle="collapse" href="#chapterB2" role="button" aria-expanded="false" aria-controls="chapterB2" class="collapsed">
<div class="row no-gutters align-items-center">
<div class="col">
<div class="timeline-type__header timeline-type__header--title">
<div class="row align-items-center">
<div class="col-auto timeline-type__chapter">4</div>
<div class="col timeline-type__title">Fourth nested collapsible
</div>
<div class="col-auto">
<em class="icon-arrow-down" data-toggle="tooltip" title="Collapse/expand" data-delay="400" aria-hidden="true"></em>
<span class="sr-only">Collapse/expand this item</span>
</div>
</div>
</div>
</div>
</div>
</a>
<div class="timeline-type__content collapse" id="chapterB2">
<ul class="reports-list">
<li>
<a class="reports-list-item reports-list-item--compendium">
<div class="col reports-list-item__title reports-list-item__title--nolink">No link</div>
</a>
</li>
<li>
<a href="#" class="reports-list-item reports-list-item--compendium">
<div class="col-auto reports-list-item__title reports-list-item__title--compendium">
Some content with link
</div>
<div class="reports-list-item__url"><em class="icon-url" data-toggle="tooltip" title="Link" data-delay="400" aria-hidden="true"></em></div>
</a>
</li>
</ul>
</div>
</div>
</div>
</section>
</div>
</div>
</div>
这篇关于在第一轮结果后重新初始化搜索的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文