追加和排序div

问题描述

| 让我向我们展示我的情况和问题。 这是div的列表,当页面加载时,这些列表由jQuery按字母顺序按
categories1
内容排序:
<div id=\"container\">
    <div class=\"categories\">
        <div class=\"categories1\">
            Ernest
        </div>
    </div>

    <div class=\"categories\">
        <div class=\"categories1\">
            Andy
        </div>
    </div>

    <div class=\"categories\">
        <div class=\"categories1\">
            Mark
        </div>
    </div>
</div>

// result
Andy
Ernest
Mark
现在,当我尝试追加一个元素然后对这些元素进行排序时,出现了一个麻烦:实际上,最后插入的元素没有排序,但是只是追加到列表的末尾:
<div class=\"categories\">
    <div class=\"categories1\">
        Buddy
    </div>
</div>

// result
Andy
Ernest
Mark
Buddy
这是排序功能
$(function() {
    var items = $(\'.categories1\').get();

    items.sort(function(x,y) {
      return $(x).text() > $(y).text();
    });

    $(\'#container\').empty();

    $(items).each(function() {
        $(\'#container\').append($(this).parent());
    });
});
为什么这种行为?我该如何解决?     

解决方法

        不知道这是否是最好的解决方法,但是您可以将文本“ 4”字:http://jsfiddle.net/WEtML/4/
items.sort(function(x,y) {
    return $.trim($(x).text()) > $.trim($(y).text());
});
    ,        您有空格问题。插入后检查标记。第一项以空格开头,而Buddy则不是。
<div id=\"container\">
  <div class=\"categories\">
    <div class=\"categories1\"> Andy </div>
  </div>
  <div class=\"categories\">
    <div class=\"categories1\"> Ernest </div>
  </div>
  <div class=\"categories\">
    <div class=\"categories1\"> Mark </div>
  </div>
  <div class=\"categories\">
    <div class=\"categories1\">Buddy</div>
  </div>
</div>
    

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...