Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 对每个DIV实例重复文本块_Javascript_Html - Fatal编程技术网

Javascript 对每个DIV实例重复文本块

Javascript 对每个DIV实例重复文本块,javascript,html,Javascript,Html,我试图让文本在Tumblr主题中的每篇文章之后显示出来,javascript在JSFIDLE中工作,但在我将其包含到主题中时不会。我错过什么了吗 HTML <div id="wrapper"> <div class="post"> <div class="stat-wrap"></div> </div> <div class="post"> <div class

我试图让文本在Tumblr主题中的每篇文章之后显示出来,javascript在JSFIDLE中工作,但在我将其包含到主题中时不会。我错过什么了吗

HTML

<div id="wrapper">
    <div class="post">
        <div class="stat-wrap"></div>
    </div>
    <div class="post">
        <div class="stat-wrap"></div>
    </div>
    <div class="post">
        <div class="stat-wrap"></div>
    </div>
    <div class="post">
        <div class="stat-wrap"></div>
    </div>
    <div class="post">
        <div class="stat-wrap"></div>
    </div>
    <div id="counter"></div>
</div>

JAVSCRIPT

  /*global */

  function statwrap() {
      var count;
      var counter;
      var bob;
      count = document.getElementsByTagName('div').length;
      counter = document.getElementById('counter').innerHTML = count;
      bob = document.getElementsByClassName('stat-wrap');
      var i;
      for (i = 0; i < counter; i++) {
          bob[i].innerHTML = "jkfdgdff14";
      }
  }
  window.onload = statwrap();
/*全局*/
函数statwrap(){
var计数;
var计数器;
var-bob;
count=document.getElementsByTagName('div')。长度;
counter=document.getElementById('counter')。innerHTML=count;
bob=document.getElementsByClassName('stat-wrap');
var i;
对于(i=0;i

这是我的tumblr主题,我已经将javascript粘贴到了btw中。()我尝试了
结束标记,但这两个地方都不起作用。

也许这并不能完全回答您的问题,但您可以使用css
:after
向所有元素添加一些内容

.stat wrap:after{
内容:“jkfdgdff14”;
显示:块;
}

演示:

我想你已经把这条路弄得很复杂了

尝试使用jQuery并使用append()函数:

$( ".stat-wrap" ).append( "<p>Test</p>" );
$(“.stat wrap”).append(Test

”);
例如:


我本想就此发表评论,但我的声誉还不够好

我想,你的循环状态
i
是关闭的。变量
counter
绑定到
innerHTML
,我认为这是一个字符串(不是数字)。尝试将其更改为
i

--编辑--

我还注意到,您的主题抛出了两个相同的错误:

Uncaught TypeError: Cannot set property 'innerHTML' of null

因为页面上实际上没有ID为
counter
的元素。另外,在页面源代码中,您的脚本重复了两次。

我不知道什么不起作用,但是有太多div。也许你想要限制并说

count = document.getElementsByClassName('post').length;
另外,您是否可以检查是否需要使用parseInt将innerHTML解析为int,一些JS编译器可能会尖叫

document.getElementById('counter').innerHTML = count;
count = parseInt(document.getElementById('counter').innerHTML);

       OR simply 

document.getElementById('counter').innerHTML =  count
counter = count

你正式成为我的英雄!我对jQuery一无所知,所以这就是为什么我对javascript了解有限,希望能有所收获的原因。非常感谢你!