我正在使用Kendoui上传我的网站上的异步上传。
我的一个小功能是,当图片上传完成后,会创建一个小缩略图并在页面上显示预览:
...
success: function(e)
{
if(e.operation == 'upload')
{
$('#previews').append('<img src="'+ROOT+'cakes/'+e.files[0].name+'"/>');
}
else if(e.operation == 'remove')
{
$('#previews img[src="'+ROOT+'cakes/'+e.files[0].name+'"]').remove();
}
...
正如你所看到的,我正在匹配img src属性,我认为这可能是缓慢而低效的。有没有更好的方法来实现我的目标?
答案 0 :(得分:0)
首先,如果您当前的代码正常工作,那么除非您确实遇到性能问题,否则无需更改它。现代计算机/手机现在非常快,以至于当你遇到性能问题时,你真的应该花时间解决性能问题。否则,您可以更好地花时间以其他方式改进您的应用/页面。
也就是说,通过id查找内容比查找大多数其他方式快得多(当然比查找src
之类的属性更快。你可以像这样从文件名中输入一个唯一的id,在创建图像时将其指定给图像,然后使用它来查找图像以将其删除:
success: function(e)
{
var name = "img_" + e.files[0].name.replace(/[.\/ ]/, "_");
if (e.operation == 'upload')
{
$('#previews').append('<img id="' + name + '" src="'+ROOT+'cakes/'+e.files[0].name+'"/>');
}
else if(e.operation == 'remove')
{
$('#' + name).remove();
}
...