Обновление
Интересно, если при работе с документом в стандартном режиме (документ имеет DOCTYPE), Firefox вставляет подразумеваемый элемент, который он не вставляет в режиме обратного сжатия (без DOCTYPE), и поэтому изображение не ' t непосредственный дочерний элемент elem
, но вместо этого дочерний элемент этого подразумеваемого элемента, который затем является дочерним элементом elem
; так что вы не увидите изображение в elem.childNodes
. Прохождение кода в отладчике - лучший способ сказать, но если это не удастся, предупредите tagName
о каждом из дочерних узлов, через которые вы перебираете цикл.
Например, с такой разметкой:
<table id='theTable'>
<tr><td>Hi there</td></tr>
</table>
... Firefox вставит элемент tbody
, поэтому DOM выглядит так:
<table id='theTable'>
<tbody>
<tr><td>Hi there</td></tr>
</tbody>
</table>
... но это будет не тот конкретный пример, если DOCTYPE не является красной сельдью, потому что я только что протестировал, и Firefox делает это даже в режиме обратного компатирования. Но, возможно, вы тестировали два немного разных документа? Или, возможно, он делает это с некоторыми элементами только в стандартном режиме.
Оригинал
Не сразу вижу проблему, но я вижу две проблемы:
i
не объявлено в функции, и поэтому вы становитесь жертвой Ужаса неявных глобалов . Поскольку в вашем предупреждении указано правильное значение, я не понимаю, с чем это связано.
url(..)
в CSS не использует кавычки. Да, они могут , опционально.