Это не то, с чем jQuery обычно полезен - он работает больше на уровне узла, чем на уровне text / html. Однако это может помочь ( source ):
$('p:contains(&)').each(function(){
$(this).html(
$(this).html().replace('&','<span class=\'fancy\'>&</span>')
);
});
Очевидно, что если вы можете ограничить начальный поиск чем-то лучшим, чем все абзацы, он будет работать лучше. Вам также следует проверить, действительно ли фильтр :contains
помогает.
Это не красиво, но, кажется, работает.