Я пытаюсь найти определенный символ в элементе div и обернуть его в тег span.
span
Я думал, что могу использовать что-то вроде:
$('.breadcrumb:contains("»")').replaceWith('<span>»</span>');
Но этоизменяет весь блок хлебных крошек.
Что я делаю не так?
.replaceWith работает только на узлах. Вам нужен строковый метод .replace() вместо:
.replaceWith
.replace()
var $bc = $('.breadcrumb'); $bc.html($bc.text().replace('»', '<span>»</span>'));
Как предположил мистер Крейвер, вы также можете позвонить:
$bc.html(function(i, html) { return html.replace('»', '<span>»</span>'); });
Пример: http://www.jsfiddle.net/jwJKr/
var $bc = $('.breadcrumb'); $bc.html($bc.text().split('»').join('<span>»</span>'));
Работает лучше, чтобы заменить все символы.