Как облагородить код на Jquery?

Элементы строятся через Jquery. Как избавится от вложенных функций (в данном случае listElements_randClass), но при этом сохранить условие IF / ELSE, применительно к методу append?

Уточнение в условиях, где применяется переменная var retHtml = 'data ...' может быть что угодно (например цикл).

function listElements(o) {
	var result = $('<div/>', {
		'class':'randClass'
	})
		.append(
			function listElements_randClass() {
				if (o == 0) {
					var retHtml = 'data 1';
				} else {
					var retHtml = 'data 2';
				}
				return retHtml;
			}
		)
	return result;
}
  • Вопрос задан
  • 129 просмотров
Решения вопроса 1
abyrkov
@abyrkov
JavaScripter
Логичный вопрос: а зачем? Упрощенные формулы могут в какой-то момент сдать и придется все переделывать. Если вам не нравится, что вы объявляете функцию - объявите анонимную(без имени, т.е. function(){}() ) функцию. И да, код не рабочий! Потому, что вы объявляете функцию в append, но не вызываете ее. В результате, append получит клон функции.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
petermzg
@petermzg
Самый лучший программист
return 'data ' + ((o == 0) ? '1' : '2');
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы