2015-11-28 2 views
0

Мне нужно вывести все эти divs на новую вкладку. Но когда я нажимаю ссылку, выводится только строка 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

Вы не объявляли переменную «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

С каждым приращением i вы переписываете содержимое html. изменить

htmlContent = foo[i].innerHTML; 

с

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

Хмм. Я новичок в js. Может быть, это правильный ответ, но после этого изменения код, показанный в моем сообщении, не работает вообще. – jsv

Смежные вопросы