提问者:小点点

我可以使用jQuery在有序列表上切换“反转”吗?


我正在使用10个

所有节都有一个标题

,后面跟一个有序列表

    只有两个节的标题中有sort

    我希望使用这些sort-span来切换(反转)这两个列表的顺序。

    一个列表按字母升序出现的节:

    <section>
        <h1>artists <span>sort</span></h1>
        <ol>
            <li>Hockney, David</li>
            <li>Matisse, Henri</li>
            <li>Picasso, Pablo</li>
        </ol>
    </section>
    

    艺术家

    • 大卫·霍克尼
    • 亨利·马蒂斯
    • 毕加索,巴勃罗

    “反转”列表以字母降序出现的部分:

    注意:我只是在

      有序列表中添加了“reverse”。

      <section>
          <h1>artists <span>sort</span></h1>
          <ol reversed>
              <li>03. Hockney, David</li>
              <li>02. Matisse, Henri</li>
              <li>01. Picasso, Pablo</li>
          </ol>
      </section>
      

      艺术家

      • 毕加索,巴勃罗
      • 亨利·马蒂斯
      • 大卫·霍克尼

      我遇到的麻烦是如何(使用jQuery)将“reverded”切换到

        ,因为它不是.class.id.

        因为我对jQuery只有基本的了解,真的不知道从哪里开始,所以我希望在这里问问这是否可行,如果可行,如何最好地实现这一点?

        到目前为止我就知道这些,我走对了吗?

        $('section span').on('click', function(e) {
            e.preventDefault();
            $(this).closest('ol').toggle().append("reversed");
        });
        

        null

        $('section span').on('click', function(e) {
            e.preventDefault();
            $(this).closest('ol').toggle().append("reversed");
        });
        <script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
        <section>
            <h1>artists <span>sort</span></h1>
            <ol>
                <li>Hockney, David</li>
                <li>Matisse, Henri</li>
                <li>Picasso, Pablo</li>
            </ol>
        </section>

        null


共1个答案

匿名用户

添加了一个工作示例,让我知道在HTML结构发生变化的情况下。

null

$('section span').on('click', function(e) {
   var OlObj = $(this).parent('h1').next('ol');
   OlObj.append( OlObj.find('li').get().reverse());
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<section>
    <h1>artists <span>sort</span></h1>
    <ol>
        <li>Hockney, David</li>
        <li>Matisse, Henri</li>
        <li>Picasso, Pablo</li>
    </ol>
</section>