Как выделить все символы русского алфавита на странице, при условии, что атрибуты некоторых элементов могут содержать его?
Нужно рекурсивно обойти всё DOM дерево и рассматривать только текстовые узлы. Регуляркой заменять один-или-несколько-подряд символов из кириллического алфавита (+пробелы, пожалуй) на них же, в обёртке из тега форматирования.Примерно такfunction replacer(el){
  var i, node, span;
  if(el.hasChildNodes()) {
    for(i=0; i<el.childNodes.length; i++) {
      node = el.childNodes[i];
      if(node.nodeType === Node.ELEMENT_NODE) {
        if( !!~['SCRIPT','NOSCRIPT'].indexOf(node.nodeName)) continue;
        replacer(node);
      } else if( node.nodeType === Node.TEXT_NODE) {
        if(node.nodeValue.match(/^\s+$/)) continue;
        span = document.createElement("span");
        span.innerHTML = node.nodeValue.replace(/([а-яА-Я]+)/ug, '<i>$1</i>');
        el.insertBefore(span, node);
        el.removeChild(node);
      }
    }
  }
}

replacer(document.body);
Тут для простосты схалтурил и вообще каждый текстовый узел заменяю на <span>, чтобы просто innerHTML ему заменить.Fiddle
Нужно рекурсивно обойти всё DOM дерево и рассматривать только текстовые узлы. Регуляркой заменять один-или-несколько-подряд символов из кириллического алфавита (+пробелы, пожалуй) на них же, в обёртке из тега форматирования.Примерно такfunction replacer(el){
  var i, node, span;
  if(el.hasChildNodes()) {
    for(i=0; i<el.childNodes.length; i++) {
      node = el.childNodes[i];
      if(node.nodeType === Node.ELEMENT_NODE) {
        if( !!~['SCRIPT','NOSCRIPT'].indexOf(node.nodeName)) continue;
        replacer(node);
      } else if( node.nodeType === Node.TEXT_NODE) {
        if(node.nodeValue.match(/^\s+$/)) continue;
        span = document.createElement("span");
        span.innerHTML = node.nodeValue.replace(/([а-яА-Я]+)/ug, '<i>$1</i>');
        el.insertBefore(span, node);
        el.removeChild(node);
      }
    }
  }
}

replacer(document.body);
Тут для простосты схалтурил и вообще каждый текстовый узел заменяю на <span>, чтобы просто innerHTML ему заменить.Fiddle