所以我已经阅读了一些类似的问题,并且我已经设法做一些事情,比如改变背景颜色,但我还不能让它工作;
我想要的是让页面上的每个后续字母随机着色。使用的色彩空间并不是很重要,因为一旦它真正起作用就很容易修复(目前正在使用这个),但我什至无法让文本改变颜色。我希望我只是在某个地方犯了一个愚蠢的错误......
这就是我目前正在尝试的;它有点工作,但它非常依赖于我使用的标签名,并且由于大多数网页的性质,如果我不小心,它可能会破坏很多东西......
var elements = document.getElementsByTagName('p');
for(var i=0,l=elements.length;i<l;++i) {
var str = elements[i].textContent;
elements[i].innerHTML = '';
for(var j=0,ll=str.length;j<ll;++j) {
var n = document.createElement('span');
elements[i].appendChild(n);
n.textContent = str[j];
n.style.color = get_random_colour();
}
}
function get_random_colour() {
var letters = '0123456789ABCDEF'.split('');
var colour = '#';
for (var i = 0; i < 6; i++ ) {
colour += letters[Math.round(Math.random() * 15)];
}
return colour;
}
在这个例子中, p 工作正常,并且似乎没有破坏任何东西,但如果我这样做,或者*
它会破坏页面。有没有办法获取页面上的所有文本,而不是破坏它?html
body
还有一件事;后来我更改了颜色函数,希望只选择 HSV(random,1,1) 中的颜色,这样我只能得到漂亮的明亮颜色,但它不起作用。我假设我只是有一些 JS 错误,但我对 JS 不是很熟悉,所以我发现很难找到......
以下是变化