Я переписываю какой-то старый JavaScript с помощью jQuery и хотел бы знать, как написать его более аккуратно.
Сценарий, с которого я начинаю:
for (var i = 0; i < form1.elements.length; i++) {
var element = form1.elements[i];
alert(element.id)
if (Left(element.id, 15) === 'selHeaderFilter' ||
element.id === 'ddlHierarchy1') {
garrHeaderState[element.id] = element.selectedIndex
}
}
ЯЯ не совсем уверен, почему он был написан так, как был, но я думаю , что он просто пытается добавить 2 элемента в массив (который объявлен глобально).
Мой первый удар в этом дал мне:
var hierarchy = $('[id$=ddlHierarchy1]');
var headerFilter = $('[id*="selHeaderFilter"]');
if (hierarchy)
garrHeaderState[hierarchy.attr('id')] = hierarchy.val();
if (headerFilter)
garrHeaderState[headerFilter.attr('id')] = headerFilter.val();
Но мне не очень нравится процесс объявления иерархии просто так, чтобы, если он существует, я мог добавить его выбранный индекс вмассив.Есть ли лучший способ написания этого кода?