<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;标签)解析为有序列表

        时间:2024-04-19

        • <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 3.2 中使用 javascript

                  相关文章

                  <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'>

                  <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>