我正在使用j08691的this changing color script:
function flash() {
var text = document.getElementById('foo');
text.style.color = (text.style.color=='red') ? 'green':'red';
}
var clr = setInterval(flash, 1000);
我想从CSS调用<body>
标记和<a>
标记,而不是ID。
对于<body>
标记,我执行了此操作并且有效:
function flash() {
var text = document.body;
text.style.color = (text.style.color=='black') ? 'white':'black';
}
var clr = setInterval(flash, 1);
但它不适用于<a>
标记。我尝试了类似的变体:
var els = document.getElementsByTagName('a');
var links = document.getElementsByTagName('a');
而不是var text = document.getElementById('a');
并将text.style.color
替换为links[i].style.color
或links.style.color
,但我不太确定我在那里做什么。
我想一次更改所有链接的颜色。
答案 0 :(得分:1)
你走在正确的轨道上 - getElementsByTagName
返回一个集合,所以只需遍历集合:
function flash() {
var links = document.getElementsByTagName('a');
for (var i = 0; i < links.length; i++) {
links[i].style.color = (links[i].style.color=='black') ? 'white':'black';
}
}
setInterval(flash, 1000);
另请注意,setInterval
需要几毫秒,因此不建议使用setInterval(x, 1)
。
答案 1 :(得分:0)
您是否尝试访问html中的a标签?然后通过你的函数对每个css应用一些css?
使用jquery库
$("a").each(function(){
//do something with the element here like your function. $(this).stuff;
});