这一次我需要使用 Prototype 而不是 jQuery,我对此不太适应。 有人可以帮我转换以下脚本:
var output={};
$('ul li').each(function(i,v){
var l=$(this).text().substring(0,1).toUpperCase();
if(typeof(output[l])=="undefined") output[l]=[];
output[l].push($(this).text());
});
$('ul').empty();
for(var i in output){
$('ul').append('<li><p>'+i+'</p></li>');
for(var j in output[i]){
$('ul').append('<li>'+output[i][j]+'</li>');
}
}
完整来源:http://jsfiddle.net/flxfxp/3LwH8/7/
非常感谢!
最佳答案
var output = $H({});
$$("ul li").each(function(el){
var l = el.innerHTML.substr(0,1).toUpperCase();
if(typeof(output.get(l))=="undefined") output.set(l, []);
output.get(l).push(el.innerHTML);
})
$$('ul').invoke("update", '');
output.keys().each(function(key){
var values = output.get(key);
$$('ul').first().insert('<li><p>'+key+'</p></li>');
values.each(function(v){
$$('ul').first().insert('<li>'+v+'</li>');
});
});
使用最新原型(prototype)进行测试
关于javascript - 将小函数从 jQuery 移植到 Prototype?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4660276/