Javascript 如何在php中调用具有相同div名称的脚本函数?
成功登录。您将在10秒内被重定向 错误的用户名/密码。您将在10秒内被重定向 函数倒计时(){ var i=document.getElementByClassName('counter');Javascript 如何在php中调用具有相同div名称的脚本函数?,javascript,php,html,Javascript,Php,Html,成功登录。您将在10秒内被重定向 错误的用户名/密码。您将在10秒内被重定向 函数倒计时(){ var i=document.getElementByClassName('counter'); if(parseInt(i.innerHTML)document.getElementsByClassName('counter')将返回一个数组 “getElements”-因此,将该数组中的元素作为目标如下: document.getElementsByClassName('counter')[0]
if(parseInt(i.innerHTML)document.getElementsByClassName('counter')将返回一个数组 “getElements”-因此,将该数组中的元素作为目标如下:
document.getElementsByClassName('counter')[0]
或者在它们之间循环:
<p>Success login. You will be redirected in <span class="counter">10</span> second(s).</p>
<p>Wrong username/password. You will be redirected in <span class="counter">10</span> second(s).</p>
<script type="text/javascript">
function countdown() {
var i = document.getElementByClassName('counter');
if (parseInt(i.innerHTML)<=0) {
location.href = 'login.php';
}
i.innerHTML = parseInt(i.innerHTML)-1;
}
setInterval(function(){ countdown(); },1000);
</script>
var counters=document.getElementsByClassName('counter');
对于(var i=0,len=counters.length;iJavascript中没有getElementByClassName();
。应该使用getElementsByTagName();
或者,使用jQuery选择器$('.counter');
(需要jQuery库)
有关详细信息,请参阅[this][1]
没有函数getElementByClassName()
,只有getElementsByClassName()
(注意元素*s*!)的复数形式。这将返回节点列表,然后必须遍历该节点列表:
var counters = document.getElementsByClassName('counter');
for(var i=0, len=counters.length; i<len; ++i) {
counters[i].innerHTML = 'I am content ' +i;
}
函数倒计时(){
var i=document.getElementsByClassName('counter');
for(var j=0;ji
将是一个匹配节点的数组。Yo ucan不仅仅是array.innerHTML
…只有一个元素应该具有相同的id
属性值。方法的名称是getElementsByClassName()
(元素上的复数),因为与id属性不同,许多元素被允许具有相同的类名。我尝试了此操作,但只有一个计时器类标记有效。另一个标记不起作用。有什么想法吗?可能我的数据库有冲突?我更新了代码。@Martynogea这是一个与以前不同的问题。请解释背后的原因你的(更新)代码:它应该怎么做?很抱歉,我不知道查询会影响它。我想既然函数使用一个div-带查询或不带查询,我只希望它对共享同一类的两个div工作。我不知道为什么它停止工作,因为它对后一个div工作。@Martynogea我不知道,你的第二个SQL查询应该做什么。但是anyway、 SQL问题出现在PHP,而另一个问题出现在JavaScript部分。这里没有直接的连接。也测试了这个问题,但仍然遇到相同的问题“我尝试了这个,但只有一个计时器类的标记有效。另一个没有勾选。有什么想法吗?”您好@Martynogea,如果到目前为止您用代码更新了问题,我们可以看到现在发生了什么您已经将GetElementsByCassName更正为数组。刚刚更新了代码*我得到了这个错误:重复条目'randomname'-as@hotmail.com对于键“username”,请看这里,在现代浏览器中,按类名存在!
function countdown() {
var i = document.getElementsByClassName('counter');
for( var j=0; j<i.length; j++ ) {
if (parseInt(i[j].innerHTML)<=0) {
location.href = 'login.php';
}
i[j].innerHTML = parseInt(i[j].innerHTML)-1;
}
}
setInterval( countdown,1000);