При работе с наборами элементов и CSS / Javascript принято давать всем им одинаковый класс, если это вообще возможно, чтобы с ними было легче работать. Тогда вы можете просто сделать это:
$('.mysimilarclass li:first-child').addClass('first-child');
Если это не вариант, вы также можете просто объединить все селекторы в один:
$('#tabs, .photos, #alphabet').find('li:first-child').addClass('first-child');
Для второго сета применимо то же самое. Вы можете «сгруппировать» их всех по одному классу или просто собрать все нужные селекторы, а затем только находить изображения из них. Кроме того, вы можете воспользоваться расширением цепочки jQuery, чтобы не запрашивать DOM более одного раза:
$(function(){
$("#header-thumbs, .catalog dt, .photos li")
.find("img")
.fadeTo("fast", 1)
.hover(function() {
$(this).fadeTo("fast", .7);
}, function() {
$(this).fadeTo("fast", 1);
});
});
Также, если это вообще возможно, рекомендуется всегда добавлять, какой элемент должен иметь класс в ваших селекторах. Поэтому вместо .photos li
лучше сделать ul.photos li
или любой другой элемент будет иметь класс photos
. Конечно, это не всегда возможно, но желательно, когда бы это ни было.