Массивы JavaScript - это объекты со свойством magic length, которое увеличивается, когда вы устанавливаете числовое свойство, равное или превышающее текущую длину. HTMLCollection
объекты имеют свойство длины, но оно не является магическим и не должно увеличиваться при установке числового свойства. Когда вы добавляете к ним элемент, вы просто добавляете именованное свойство к объекту, используя число в качестве имени свойства.
Вам лучше сначала преобразовать коллекции в массивы, используя Array.prototype.slice
:
var slice = Array.prototype.slice,
claimantEmailValues = slice.call(document.getElementsByName("claimantEmails")),
defendantEmailValues = slice.call(document.getElementsByName("defendantEmails"));
var k = defendantEmailValues.length;
for(var i=0; i<claimantEmailValues.length;i++){
defendantEmailValues[k++] = claimantEmailValues[i];
}
Вероятно, поведение предыдущих версий Firefox неправильно разрешало добавление элементов в HTMLCollection
экземпляры, и ошибка была только что исправлена в Firefox 10.