我的应用程序有一长串对象,其宽度需要通过 jQuery 进行修改。目前我正在使用这样的代码:
$('#my_list div.text_field').each(function() {
// Cache objects we're going to use multiple times.
var $textField = $(this);
var $listContents = $textField.closest('div.list_contents');
// Find widths.
var contentsWidth = $listContents.outerWidth();
var avatarsWidth = $listContents.find('div.avatars').outerWidth();
var tagsWidth = $listContents.find('div.tags').outerWidth();
var textLeft = $textField.position().left;
// Update the width.
var newTextWidth = contentsWidth - textLeft - avatarsWidth - tagsWidth;
$textField.css({ width: newTextWidth });
});
但是,当有数百个对象需要操作时,需要一段时间(> 1 秒)。知道如何使这更快吗?我应该完全避开 jQuery 并使用原生 JS 吗?