var checked1 =window.frames["iframe_text"].document.getElementsByName("select1");
var checked2 =window.frames["iframe_text"].document.getElementsByName("select2");
现要将checked1与checked2合并
我用了checked1.concat(checked2),不行,求高手指教

解决方案 »

  1.   

    http://topic.csdn.net/t/20030214/09/1426872.html 参考
      

  2.   

    其实他并不是个数组
    你如果要放到数组里面
    只能自己建个数组
    然后循环把里面的元素push进数组里
      

  3.   

    getElementsByName;这东西返回的不是数组,只是类似数组的东西,自然没有concat这个方法,你要用的话应该Array.prototype.concat.call(checked1, checked2)
      

  4.   

    function convert(nodelist)
    {
        var arr = [];
        for(var i = 0 ; i < nodelist.length ; i ++) arr.push(nodelist[i])
        return arr; 
    }var checked1 =window.frames["iframe_text"].document.getElementsByName("select1");
    var checked2 =window.frames["iframe_text"].document.getElementsByName("select2");
    var array = convert(checked1).concat(convert(checked2))
    alert(array)
      

  5.   


    测试了下,确实不行,concat处理NodeList对象的时候会把整个对象作为一个元素处理,所以结果是返回 一个数组,每个数组包含一个NodeList对象。看来LZ只能一个一个遍历过去了。