使用相同的javascript自动填充多个div
我有这个js代码,它在2个div中更新2个计数器:使用相同的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() {
<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以按类查找元素即可。我不会为你做你的工作。