だから私はいくつかの同様の質問を読み、背景色を変更するなどのことをなんとかすることができましたが、これを機能させることはまだできていません。
私が欲しいのは、ページ上の後続の各文字をランダムに色付けすることです。使用する色空間は、実際に機能すると簡単に修正できるため(現時点ではこれを使用しています)、それほど重要ではありませんが、テキストの色を変更することすらできません。どこかでばかげた間違いを犯しているだけだといいのですが...
これが私が今試していることです。それは一種の動作ですが、使用するtagNameに大きく依存します。また、ほとんどのWebページの性質上、注意しないと多くの問題が発生する可能性があります...
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
その後、ページが壊れます。ページ上のすべてのテキストを取得し、それを壊さない方法はありますか?
そして別のこと。後でcolor関数を変更して、HSV( random、1,1)にある色だけを選択して、明るい色だけを取得できるようにしましたが、機能していません。そこにJSエラーがあると思いますが、JSにあまり詳しくないので、見つけるのが難しいと感じています...
これが変更点です