如何在jquery中选择ul的li元素?

时间:2011-10-11 08:44:09

标签: javascript jquery html

我有一个无序列表:

<li class="t-header" id = "BackLogList">
        <ul>
            <li class="t-header-description">Description</li>
            <li class="t-header-project-name">Project Name</li>
            <li class="t-header-Type">Type</li>
            <li class="t-header-priority">Priority</li>
            <li class="t-header-status">Status</li>
        </ul>
    </li>

我需要选择所有li元素的html文本,并使用jquery对它们进行排序。

我该怎么做?

由于

9 个答案:

答案 0 :(得分:2)

希望这篇文章能够完美地帮助你

http://james.padolsey.com/javascript/sorting-elements-with-jquery/

乐意帮助:)

答案 1 :(得分:1)

您可以尝试这个简单的代码:

$('#BackLogList li').sort(function(a,b){return a.innerHTML > b.innerHTML ? 1 : -1;}).appendTo('#BackLogList ul');

答案 2 :(得分:0)

如果这是您的整个列表,我会将标记更改为:

<ul id="BacklogList"> 
  <li class="t-header-description">Description</li> 
  <li class="t-header-project-name">Project Name</li> 
  <li class="t-header-Type">Type</li> 
  <li class="t-header-priority">Priority</li> 
  <li class="t-header-status">Status</li> 
</ul> 

答案 3 :(得分:0)

你可以像这样获得li数组

$('ul').children('li')

你可以得到他们的文字就像这样

$('ul').children('li').each(function(){
    alert($(this).text())
})

关于如何排序他们的排序方式?

答案 4 :(得分:0)

你在找这样的东西吗?

$( '.t-header li' ).each( function() {
    //Search algorithm where $( this ) is the current li that is handled
} );

答案 5 :(得分:0)

选择每个的html并将它们放入一个数组中:

var liArray = [];

$(".t-header li").each(function(){
    liArray.push($(this).html());
});

//sort them (alphabetically):
liArray.sort();

在这里摆弄:http://jsfiddle.net/v5XB9/

答案 6 :(得分:0)

例如:

var items = $("ul li").map(function(){return $(this).text();}).get().sort();

答案 7 :(得分:0)

var ul = $('#BackLogList');
var lis = ul.children('li').get();
lis.sort(function(a,b){
    var v1 = $(a).text(),v2 = $(b).text();
    if(v1 === v2)
        return 0;
    return v1 < v2 ? 1 : -1;
});
ul.html(lis);

答案 8 :(得分:0)

将文本作为数组获取,以便按照您的意愿对它们进行排序。

lis = $('#BackLogList li');
text = $.map(lis, function(value, index) {
    return $(value).text();
});
//"text" is now an array of texts