<legend id='IDd2M'><style id='IDd2M'><dir id='IDd2M'><q id='IDd2M'></q></dir></style></legend>
<i id='IDd2M'><tr id='IDd2M'><dt id='IDd2M'><q id='IDd2M'><span id='IDd2M'><b id='IDd2M'><form id='IDd2M'><ins id='IDd2M'></ins><ul id='IDd2M'></ul><sub id='IDd2M'></sub></form><legend id='IDd2M'></legend><bdo id='IDd2M'><pre id='IDd2M'><center id='IDd2M'></center></pre></bdo></b><th id='IDd2M'></th></span></q></dt></tr></i><div id='IDd2M'><tfoot id='IDd2M'></tfoot><dl id='IDd2M'><fieldset id='IDd2M'></fieldset></dl></div>
<tfoot id='IDd2M'></tfoot>
    • <bdo id='IDd2M'></bdo><ul id='IDd2M'></ul>
    1. <small id='IDd2M'></small><noframes id='IDd2M'>

      1. 使用jQuery将标题(&lt;h1&gt;--&lt;h6&gt;标签)解析为有序列表

        Parse header (lt;h1gt; -- lt;h6gt; tags) to ordered list, using jQuery?(使用jQuery将标题(lt;h1gt;--lt;h6gt;标签)解析为有序列表?)

        • <legend id='kjb4V'><style id='kjb4V'><dir id='kjb4V'><q id='kjb4V'></q></dir></style></legend>

          <i id='kjb4V'><tr id='kjb4V'><dt id='kjb4V'><q id='kjb4V'><span id='kjb4V'><b id='kjb4V'><form id='kjb4V'><ins id='kjb4V'></ins><ul id='kjb4V'></ul><sub id='kjb4V'></sub></form><legend id='kjb4V'></legend><bdo id='kjb4V'><pre id='kjb4V'><center id='kjb4V'></center></pre></bdo></b><th id='kjb4V'></th></span></q></dt></tr></i><div id='kjb4V'><tfoot id='kjb4V'></tfoot><dl id='kjb4V'><fieldset id='kjb4V'></fieldset></dl></div>
            <tbody id='kjb4V'></tbody>
          • <bdo id='kjb4V'></bdo><ul id='kjb4V'></ul>

                <small id='kjb4V'></small><noframes id='kjb4V'>

                <tfoot id='kjb4V'></tfoot>

                1. 本文介绍了使用jQuery将标题(&lt;h1&gt;--&lt;h6&gt;标签)解析为有序列表?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着跟版网的小编来一起学习吧!

                  问题描述

                  我正在根据标题结构以有序列表的样式制作目录,这样:

                  I'm making a table of contents, in the style of an ordered list, based on the header structure, such that:

                  <h1>lorem</h1>
                  <h2>ipsum</h2>
                  <h2>dolor</h2>
                  <h3>sit</h3> 
                  <h2>amet</h2>
                  

                  变成:

                  • 洛雷姆
                    • ipsum
                    • 朵儿
                      • 坐下

                      这就是我目前的做法:

                      $('h1, h2, h3, h4, h5, h6').each ()->
                        # get depth from tag name
                        depth = +@nodeName[1]
                      
                        $el = $("<li>").text($(this).text())
                        do get_recursive_depth = ()->
                          if depth is current_depth
                            $list.append $el
                          else if depth > current_depth
                            $list.append( $("<ol>") ) unless $list.children().last().is('ol')
                            $list = $list.children().last()
                            current_depth += 1
                            get_recursive_depth()
                          else if depth < current_depth
                            $list = $list.parent()
                            current_depth -=1
                            get_recursive_depth()
                      

                      哪个有效,但它似乎缺乏优雅.有没有更智能/更快/更健壮的方法来做到这一点?

                      which works, but it seems like it lacks elegance. Is there a smarter / faster / more robust way to do this?

                      推荐答案

                      jQuery 实现:

                      var $el, $list, $parent, last_depth;
                      $list = $('ol.result');
                      $parent = [];
                      $parent[1] = $list;
                      last_depth = 1;
                      $el = 0;
                      $('h1, h2, h3, h4, h5, h6').each(function () {
                          var depth;
                          depth = +this.nodeName[1];
                          if (depth > last_depth) {
                              $parent[depth] = $('<ol>').appendTo($el);
                          }
                          $el = $("<li>").text($(this).text());
                          $parent[depth].append($el);
                          return last_depth = depth;
                      });
                      

                      也许有人会派上用场))

                      Maybe someone will come in handy))

                      这篇关于使用jQuery将标题(&lt;h1&gt;--&lt;h6&gt;标签)解析为有序列表?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持跟版网!

                      本站部分内容来源互联网,如果有图片或者内容侵犯了您的权益,请联系我们,我们会在确认后第一时间进行删除!

                  相关文档推荐

                  Rails/Javascript: How to inject rails variables into (very) simple javascript(Rails/Javascript:如何将 rails 变量注入(非常)简单的 javascript)
                  quot;Each child in an array should have a unique key propquot; only on first time render of page(“数组中的每个孩子都应该有一个唯一的 key prop仅在第一次呈现页面时)
                  Rails 3.1 ajax:success handling(Rails 3.1 ajax:成功处理)
                  CoffeeScript always returns in anonymous function(CoffeeScript 总是以匿名函数返回)
                  Ordinals in words javascript(javascript中的序数)
                  getFullYear returns year before on first day of year(getFullYear 在一年的第一天返回前一年)
                  <i id='MP04p'><tr id='MP04p'><dt id='MP04p'><q id='MP04p'><span id='MP04p'><b id='MP04p'><form id='MP04p'><ins id='MP04p'></ins><ul id='MP04p'></ul><sub id='MP04p'></sub></form><legend id='MP04p'></legend><bdo id='MP04p'><pre id='MP04p'><center id='MP04p'></center></pre></bdo></b><th id='MP04p'></th></span></q></dt></tr></i><div id='MP04p'><tfoot id='MP04p'></tfoot><dl id='MP04p'><fieldset id='MP04p'></fieldset></dl></div>

                  <small id='MP04p'></small><noframes id='MP04p'>

                    <tbody id='MP04p'></tbody>
                  <legend id='MP04p'><style id='MP04p'><dir id='MP04p'><q id='MP04p'></q></dir></style></legend>
                  • <bdo id='MP04p'></bdo><ul id='MP04p'></ul>

                          1. <tfoot id='MP04p'></tfoot>