私のアプリケーションには、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 を使用する必要がありますか?