JQuery仅按内部第一个div对li进行排序

尝试进行排序


通过使用 jquery 排序。我想按第一个 div 内容对这个 li 进行排序(在我的示例中,按包含字段的 aaa、bbb、ccc 和 ddd 排序)。提前致谢。这是我的代码。尝试使用 .first() 并更改标签,这一切都没用(希望得到你的帮助

我的代码:


function newSort(){

    $('#attachedCards ul li').html(

        $('#attachedCards ul li').children('div').sort(function (a, b) {

           return $(a).text().toUpperCase().localeCompare(

                $(b).text().toUpperCase());

        })

    );

}

html 结构:


<div id="attachedCards">

    <ul>

           <li>

                <div>ddd</div>

                <div>

                some useless info2

                </div>


            </li>


            <li>

            <div>ccc</div>

            <div>some useless info1</div>

            </li>

           <li>

           <div>bbb</div>

            <div>some useless info3</div>

           </li>

           <li>

            <div>aaa</div>

            <div>some useless info4</div>

           </li>

       </ul>

  </div>

预期结果:

  • aaa
    一些无用的信息4

  • bbb
    一些无用的信息3

  • ccc
    一些无用的信息1

  • ddd
    一些无用的信息2

我现在有了:


  <ul>

    <li>

    aaa<br/>

    bbb<br/>

    ccc<br/>

    ddd<br/>

    some useless info1<br/>

    some useless info2<br/>

    some useless info3<br/>

    some useless info4<br/>

    </li>

    <li>

    aaa<br/>

    bbb<br/>

    ccc<br/>

    ddd<br/>

    some useless info1<br/>

    some useless info2<br/>

    some useless info3<br/>

    some useless info4<br/>

    </li>

    <li>

    aaa<br/>

    bbb<br/>

    ccc<br/>

    ddd<br/>

    some useless info1<br/>

    some useless info2<br/>

    some useless info3<br/>

    some useless info4<br/>

    </li>

    <li>

    aaa<br/>

    bbb<br/>

    ccc<br/>

    ddd<br/>

    some useless info1<br/>

    some useless info2<br/>

    some useless info3<br/>

    some useless info4<br/>

    </li>

    </ul>


潇潇雨雨
浏览 142回答 1
1回答

犯罪嫌疑人X

我做的。它像我想要的那样工作function newSort(){$('#attachedCards ul').html(&nbsp; &nbsp; $('#attachedCards ul li').sort(function (a, b) {&nbsp; &nbsp; &nbsp; &nbsp; return $(a).children('div')[0].textContent.toUpperCase().localeCompare(&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $(b).children('div')[0].textContent.toUpperCase());&nbsp;&nbsp;&nbsp; &nbsp; }));谢谢大家的回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Go