如何为链接分配随机颜色

How do I assign a random colour to links?

本文关键字:随机 颜色 分配 链接      更新时间:2023-09-26

只是想知道为什么我的代码不起作用。我这样做完全错了吗?

window.onload = function random() {
    var links = document.getElementsByTagName('a');
    var colours = new Array("green","red","blue");
    var randomColour = colours[Math.floor(colours.length * Math.random())];
    for (a = 0; a < links.length; a++) {
        links[a].style.color = 'randomColour';
    }
}

'randomColor' -> randomColor .
使用变量而不是带引号的字符串。此外,为了确保每个链接都获得随机颜色,请在循环中生成颜色:

for (var a = 0; a < links.length; a++) {
    var randomColour = colours[Math.floor(colours.length * Math.random())];
    links[a].style.color = randomColour;
}

若要最大程度地减少设置颜色和分析链接之间的延迟,请绑定DOMContentLoaded事件,或将代码粘贴到<body>末尾:

http://jsfiddle.net/V6Chb/1/

<a>Test</a>
  ... 
<a>Test</a>
<script>
(function() { // <-- Anonymous function to not leak variables to the global scope
    var links = document.getElementsByTagName('a');
    var colours = ["green", "red", "blue"];
    for (var a = 0; a < links.length; a++) {
        var randomColour = colours[Math.floor(colours.length * Math.random())];
        links[a].style.color = randomColour;
    }
})();