var colours = ["#000000", "#FF0000", "#990066", "#FF9966", "#996666", "#00FF00", "#CC9933"],
idx;
$(function() {
var div = $('#arch');
var chars = div.text().split('');
div.html('');
for(var i=0; i<chars.length; i++) {
idx = Math.floor(Math.random() * colours.length);
var span = $('<span>' + chars[i] + '</span>').css("color", colours[idx]);
div.append(span);
}
});
Работает для меня. jsFiddle
Вы должны убедиться, что DOM загружен, прежде чем делать какие-либо вещи jQuery на нем.
http: //learn.jquery. ком / с использованием-JQuery-ядро / документ готовый /
Попробуйте (untested):
$(document).ready(function(){
var div = $('#arch');
var chars = div.text().split('');
div.html('');
for(var i=0; i<chars.length; i++) {
idx = Math.floor(Math.random() * colours.length);
var span = $('<span>' + chars[i] + '</span>').css("color", colours[idx])
div.append(span);
}
}
В принципе, вам нужно дождаться загрузки DOM, чтобы найти div, когда вы вызываете $('#arch')
!
Я не уверен, что вы подразумеваете под «пытались скрестить текст».