如何在Javascript中使用数组值更改div文本?

如何在Javascript中使用数组值更改div文本?,javascript,jquery,html,Javascript,Jquery,Html,我正在建立一个网站和主页将基本上有2个div的包含文本。我希望其中一个div每隔2秒使用我在数组中放置的值进行更改 var skills = ["text1","text2","text3","text4"]; var counter = 0; var previousSkill = document.getElementById("myGreetingSkills"); var arraylength = skills.length - 1; function display_skills(

我正在建立一个网站和主页将基本上有2个div的包含文本。我希望其中一个div每隔2秒使用我在数组中放置的值进行更改

var skills = ["text1","text2","text3","text4"];
var counter = 0;
var previousSkill = document.getElementById("myGreetingSkills");
var arraylength = skills.length - 1;

function display_skills() {
    if(counter === arraylength){
        counter = 0;
    }
    else {
        counter++;  
    }
}
previousSkill.innerHTML = skills[counter];
setTimeout(display_skills, 2000);   

innerHTML
是邪恶的,请使用jQuery!(假设是因为已将其选择为标记)

使用
array.join()
。 此函数的语法为array.join(string),其中3 string是连接字符。 例子:
[1,2,3]。join(&)
将返回
“1&2&3”

希望这有帮助


Awesomeness01

您需要在
setTimeout()
中的函数中包装
display\u skills
,并使用
setInterval()

var myInterval = setInterval(function(){display_skills()}, 2000);
并确保调用
previousSkill.innerHTML=skills[counter]在interval'd函数中-否则它只运行一次


您可以使用
window.clearInterval(myInterval)终止间隔

将这一行放在previousSkill.innerHTML=skills[counter];在功能上。。。还有另一个
setTimeout
,或者改用
setInterval
,否则函数只执行一次。是的,anwerjunaid是正确的,否则
skills[计数器]
将始终显示
text1
,因为它超出了功能范围。innerHTML是邪恶的:@Alex您链接的帖子似乎不支持您的免责声明。。。?答案是引入替代方案,甚至为
innerHTML
(innerHTML一点也不邪恶)辩护,但我找不到任何证据证明
innerHTML
是邪恶的。只是吹毛求疵:jQuery使用
innerHTML
,尽管他们使用得很正确;)。
var myInterval = setInterval(function(){display_skills()}, 2000);