Discuss / JavaScript / 心塞,

心塞,

Topic source
var ul=$("#test-div ul");
["Pascal","Lua","Ruby"].map(
function(x){
   ul.append("<li><span>"+x+"</span></li>");}
);
var li =ul.find('li');
li.sort(function(x,y){
if($(x).text()>$(y).text()) return 1;
else return -1;
});
ul.append(li);

光光dane

#2 Created at ... [Delete] [Delete and Lock User]
ul.append(li);

这段不太明白。为什么在最后ul.append排序后的list结果不是无序的list+有序的list,而是排序后的list替换了排序前的?

反草

#3 Created at ... [Delete] [Delete and Lock User]

你的代码最漂亮。

写的好啊!!!

froest2012

#6 Created at ... [Delete] [Delete and Lock User]

ul.append(li); 这行代码的意思就是移动所有的li元素,上文中说了,append的元素如果已经存在,那么会移动这个元素

沈小文_zhx

#7 Created at ... [Delete] [Delete and Lock User]

赞。

写的真心好啊

nice!

iridiumcao

#10 Created at ... [Delete] [Delete and Lock User]

确实很漂亮。

只是有点点,看起来不太习惯。仅仅个人意见!

["Pascal","Lua","Ruby"].map(
function(x){
   ul.append("<li><span>"+x+"</span></li>");}
);

这里,map操作时,修改了ul的值,虽然没有说不能这么做,而且这么做也很有技巧,但这段代码我读过还是觉得有点怪怪的,似乎偏离了map操作的本意。如果这里仅仅修改这个 array,之后再单独写几行操作ul,我个人感觉更顺一些。


  • 1
  • 2

Reply