2015-11-28 58 views
0

我需要輸出所有這些div到一個新標籤。但是當我點擊一個鏈接時,只有第3行出貨。哪裏不對?Javascript輸出到一個新標籤

<a onclick="func()" href="javascript:void(0);">click to open all "foo" divs in a new tab</a> 

<div class="foo">Row 1</div> 
<div class="foo">Row 2</div> 
<div class="foo">Row 3</div> 

<script> 
function func() { 
    var foo = document.getElementsByClassName("foo"); 
     for (i = 0; i < foo.length; i++) { 
       htmlContent = foo[i].innerHTML; 
     } 
     window.open().document.write(htmlContent); 
} 
</script> 
+0

您正在用每次迭代替換'htmlContent' – Ramanlfc

回答

1

你沒有用var關鍵字聲明變量 'htmlContent' 給它分配一個值之前。檢查此代碼: -

<script> 
     function func() { 
     var foo = document.getElementsByClassName("foo"); 
     var htmlContent = ''; 
      for (i = 0; i < foo.length; i++) { 
        htmlContent += foo[i].innerHTML; 
      } 
      window.open().document.write(htmlContent); 
     } 
</script> 
2

隨着我每增加你覆蓋HTML內容。改變

htmlContent = foo[i].innerHTML; 

htmlContent += foo[i].innerHTML; 
+0

嗯。我是js的總新手。也許這是正確的答案,但在這個變化之後,我的帖子中顯示的代碼根本不起作用。 – jsv