【发布时间】:2013-11-14 16:04:04
【问题描述】:
是这样的:
text = $('#content').find('.text'),
length = 0;
longest = '';
$(text).each(function(){
if($(this).text().length > length){
length = $(this).text().length;
longest = $(this);
}
});
alert($(longest).text());
但是我可以不使用循环吗?我的意思是直接选择最长的文本元素?因为这太慢了
【问题讨论】:
-
没有循环你不能做到这一点..因为你必须检查所有的元素..
-
缓存对象会对你有所帮助。
-
什么都做不了,也许缓存
$(this)和varthis.text().length,也不确定是否更快但绝对更好的是避免全局变量和更新它们,比如添加一个return varmaxlen到你的功能 -
为什么太慢了?元素太多,还是必须经常做?
标签: javascript jquery string string-length