заметки на полях

Блокнот разработчика

Currently browsing Interner Explorer

перебор options в Interner Explorer

При использовании цикла for(i in ...) для перебора элементов списка вида

<select name="city" id="city-list">
    <option value="1">Москва</option>
    <option value="2">Домодедово</option>
</select>

таким вот образом

var obj = document.getElementById("city-list");
for (i in obj.options) {
    if (obj.options[i].value == ...) {
        ...
    }
}

в ишаке получаем ошибку. Переваривается только такой вариант

var obj = document.getElementById("city-list");
for (i = 0; i < obj.options.length; i++) {
    if (obj.options[i].value == ...) {
        ...
    }
}

Неплохая статья на тему работы со списками: Javascript SELECT – динамические списки

YUI 2 Dom setAttribute в Interner Explorer

В YUI 2 метод YAHOO.util.Dom.setAttribute() не работает для элементов созданных посредством DOM во всех версиях Interner Explorer (от 6 до 8), например так будет ошибка:

var button = document.createElement("button");
YAHOO.util.Dom.setAttribute(button, "type", "button");

для задания необходимо пользоваться стандартными методами DOM:

var button = document.createElement("button");
button.setAttribute("type", "button");

Причем остальные методы кроме setAttribute отрабатывают нормально:

var button = document.createElement("button");
YAHOO.util.Dom.addClass(button, "ok-button");
YAHOO.util.Dom.setStyle(button, "margin", "1em");