2012-09-27 44 views
1

我有這樣的代碼:HTML寫入新窗口中打開的問題

<div class="col3"> 
    <a id = "training-launch-button" href="javascript:void(0);" title=" My title here" class="button" onClick="Test();">Launch</a> 
</div>  

    function Test() { 
     var new_window= window.open('','Ratting','width=550,height=170,0,status=0,resizable=1'); 
     new_window.document.createElement("div"); 
     document.getElementsByTagName('div')[0].innerHTML = '<ol><li>html data</li></ol>';  

    } 

東西是不正確的,我沒有看到有序列表項? 我最終想在新窗口中構建一些HTML。

+0

看看創建頁面的來源 – CosminO

+1

getElementsByTagName返回一個包含多個元素的數組,ocument.getElementsByTagName('div')[0] .innerHTML可能會更好。或者只使用id和getElementById。 – fijter

+0

用chrome打開它並右擊 - > inspectElement,檢查錯誤並在這裏粘貼相關錯誤請 – pythonian29033

回答

0

使用此JS

function Test() { 
    var newWindow= window.open('','Ratting','width=550,height=170,0,status=0,resizable=1'); 
    var newContent = "<HTML><HEAD><TITLE>One Sub Window</TITLE></HEAD>"; 
    newContent += "<BODY><div><ol><li>html data</li></ol></div>"; 
    newContent += "</BODY></HTML>"; 
    newWindow.document.write(newContent); 
    newWindow.document.close(); 
} 
+0

爲什麼使用'createAttribute(「div」)'創建'div'而不是'createElement()'? – 2012-09-27 12:14:30

+0

感謝所有我改變了new_window.document.getElementsByTagName('div')[0] .innerHTML和new_window.document.createElement(「div」);但仍然沒有,我右鍵單擊並查看源和我所有的是? –

+0

我完全更新了我的代碼並進行了檢查。它完美的工作。 –

0

我會嘗試

new_window.document.getElementsByTagName('div')[0].innerHTML = ...

0

我覺得這是你的問題; getElementsByName返回一個數組,而不是一個元素,所以;

new_window.document.getElementsByTagName('div')[0].innerHTML = '<ol><li>html data</li></ol>'; 

注:我有一個 '[0]' 在那裏

0

這應做到:

var new_window= window.open('','Ratting','width=550,height=170,0,status=0,resizable=1'); 
var div = new_window.document.createElement('div'); 
new_window.document.body.appendChild(div); 
div.innerHTML = '<ol><li>html data</li></ol>'; 
0

你實際上沒有追加新的div到新文檔的身體,你, 「將不得不使用.appendChild()方法是,看到這一點:

function Test() { 
    var new_window = window.open('','Ratting','width=550,height=170,0,status=0,resizable=1'); 
    var div = new_window.document.createElement("div"); 
    new_window.document.getElementsByTagName('body')[0].appendChild(div); 
    div.innerHTML = '<ol><li>html data</li></ol>';   
} 

see here - working example