Вы могли бы значительно упростить ваш JavaScript в зависимости от структуры вашего HTML.Если элементы, которые вы хотели скрыть, были последовательно расположены рядом / рядом друг с другом, вы можете назначить классы разделам («функции», «приложение», «технические спецификации» и т. Д.), Например, «раздел» иэлементы, которые вы хотите скрыть («fh», «ah», «th» и т. д.), например «hide-me», и использовать одну функцию для выполнения работы:
$('.section').each(function() {
if ($(this).is(':empty')) {
$(this).closest('.hide-me').hide();
}
});
Я надеваюВам не обязательно понравится это решение, но вы также можете использовать карту разделов, которые вы хотите протестировать, и скрыть их, если они находятся в случайных местах в вашем HTML:
var items = [
{ key: '#features', value: '#f-h' },
{ key: '#application', value: '#a-h' },
{ key: '#tech-specs', value: '#t-h' },
{ key: '#downloads', value: '#d-h' },
{ key: '#custom-field', value: '#c-h' }
];
$.each(items, function(index, element) {
if ($(element.key).is(':empty')) {
$(element.value).hide();
}
});
Вот рабочий пример приведенного выше кода.
Я знаю, что это не отвечает на ваш вопрос, но я просто хотел дать свои 0,02 доллара.