Javascript 错误:对象不支持在chrome中工作而在IE中不工作的此属性或方法

Javascript 错误:对象不支持在chrome中工作而在IE中不工作的此属性或方法,javascript,internet-explorer,dom,Javascript,Internet Explorer,Dom,当我尝试将元素从listA移动到ListB时,出现错误:Object不支持此属性或方法,但在chrome中工作正常。在粗体行中获取错误 function moveAllRight() { var left = document.getElementById('listA'); var right = document.getElementById('listB'); var i=left.options.length; if(i>0){ while(i >=

当我尝试将元素从listA移动到ListB时,出现错误:Object不支持此属性或方法,但在chrome中工作正常。在粗体行中获取错误

function moveAllRight()
{
var left = document.getElementById('listA');
var right = document.getElementById('listB');

var i=left.options.length;
    if(i>0){
        while(i >=0){
            right[i]=left[i]; // <-- error
            i--;
        }
    }
}
看起来左和右都是元素。如果Internet Explorer不允许以这种方式设置选项,则应使用标准DOM API添加和删除属性

你可以做:

// Remove existing options
while (right.options.length) {
  right.remove(0);
}

// Copy existing options
for (var i = 0, l = left.options.length; i < l; i++) {
  right.add(left.options[i].cloneNode(true));
}
看起来左和右都是元素。如果Internet Explorer不允许以这种方式设置选项,则应使用标准DOM API添加和删除属性

你可以做:

// Remove existing options
while (right.options.length) {
  right.remove(0);
}

// Copy existing options
for (var i = 0, l = left.options.length; i < l; i++) {
  right.add(left.options[i].cloneNode(true));
}

那么您正在将选项从一个选项移动到另一个选项?该错误消息会在哪一行告诉您?您确定这是来自此脚本吗?获取行right[i]=left[i]的错误;您正在对可能是只读的DOM属性使用直接赋值。改为使用right.appendChildleft[i]。那么您要将选项从一个选择移动到另一个选择?该错误消息会告诉您在哪一行?您确定这是来自此脚本吗?获取行right[i]=left[i]的错误;您正在对可能是只读的DOM属性使用直接赋值。使用right.appendChildleft[i]。@Surya:如果你不提供任何信息,我就帮不了你。@Surya:如果你不提供任何信息,我就帮不了你。