使用相同的javascript自动填充多个div

使用相同的javascript自动填充多个div,javascript,jquery,html,Javascript,Jquery,Html,我有这个js代码,它在2个div中更新2个计数器: <script type="text/javascript"> jQuery(document).ready(function($) { var div = document.getElementById('count'); var yeardiv = document.getElementById('yearcount'); function updateCount() {

我有这个js代码,它在2个div中更新2个计数器:

<script type="text/javascript">
    jQuery(document).ready(function($) {
        var div = document.getElementById('count');
        var yeardiv = document.getElementById('yearcount');

        function updateCount() {
            var d = new Date();
            d.setHours(0,0,0,0);
            var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 14200000 );
            div.innerHTML = count;

            d.setMonth( 0 );
            d.setDate( 1 );
            count = Math.floor( ( new Date().getTime() - d.getTime() ) / 14200000 )
            yeardiv.innerHTML = count;
        }

        updateCount();
        setInterval( updateCount, 14200000 );
    });
</script>

jQuery(文档).ready(函数($){
var div=document.getElementById('count');
var yeardiv=document.getElementById('yearcount');
函数updateCount(){
var d=新日期();
d、 设定小时数(0,0,0,0);
var count=Math.floor((new Date().getTime()-d.getTime())/14200000);
div.innerHTML=计数;
d、 设定月(0);
d、 设定日期(1);
count=Math.floor((新日期().getTime()-d.getTime())/14200000)
yeardiv.innerHTML=计数;
}
updateCount();
setInterval(updateCount,14200000);
});
这是HTML:

<div id="count"></div>
<div id="yearcount"></div>
...
...
...
<!-- again my divs-->
...
<div id="count"></div>
<div id="yearcount"></div>

...
...
...
...
我的问题是,前2个div填充了脚本生成的数字,而第2个div是空的

我怎样才能解决这个问题


提前感谢。

问题在于您对ID的使用。在HTML文档中,ID只能使用一次。JavaScript知道这一点,并且只会将更改应用于ID的第一个实例。您应该改用类。

您的代码存在一些问题。首先,您不应该对多个元素使用相同的id。改用类

<div class="count"></div>
<div class="yearcount"></div>

<!-- other html -->

<div class="count"></div>
<div class="yearcount"></div>

因为您似乎正在使用jQuery,所以可以这样修改您的脚本

<script type="text/javascript">
jQuery(document).ready(function() {
    function updateCount() {
        var d = new Date();
        d.setHours(0,0,0,0);
        var count = Math.floor( ( new Date().getTime() - d.getTime() ) / 14200000 );
        jQuery('.count').html(count);

        d.setMonth( 0 );
        d.setDate( 1 );
        count = Math.floor( ( new Date().getTime() - d.getTime() ) / 14200000 )
        jQuery('.yearcount').html(count);
    }

    updateCount();
    setInterval( updateCount, 14200000 );
});
</script>

jQuery(文档).ready(函数(){
函数updateCount(){
var d=新日期();
d、 设定小时数(0,0,0,0);
var count=Math.floor((new Date().getTime()-d.getTime())/14200000);
jQuery('.count').html(count);
d、 设定月(0);
d、 设定日期(1);
count=Math.floor((新日期().getTime()-d.getTime())/14200000)
jQuery('.yearcount').html(count);
}
updateCount();
setInterval(updateCount,14200000);
});
让我解释一下这行代码:
jQuery('.count').html(count)

第一部分
jQuery('.count')
意味着选择所有具有类计数的元素。第二部分
.html(count)
表示插入变量count的值

*关于jQuery用法的附加说明:

  • 在大多数情况下,您可以使用
    $
    而不是
    jQuery
    ,这将缩短您的代码,例如
    $('.count').html(count)
  • 除了使用
    .html(count)
    ,您还可以使用
    .text(count)
    ,因为您没有插入任何html标记
  • 您不需要将$传递到jQuery文档就绪回调函数中

只需将ID更改为类,并更新JS以按类查找元素即可。我不会为你做你的工作。