Вы можете добавить ярлык inline span
на символ.
$("p").html($("p").text().replace('@', '<span class="after">@</span>'));
Fiddle: http://jsfiddle.net/21jqbtv9/5/
Если вы хотите что до или после определенного символа, вы должны использовать lookahead
и lookbehinds
соответственно.
lookbehind
:./(? < = @) +/
lookahead
: /.+([email protected])/
Изменить первый аргумент функции replace()
к одному из выше регулярного выражения. Вот еще один пример с скрипкой
$(document).ready(function() {
var email = $("p").html();
var emailParts = email.split('@');
var beforeText = emailParts[0];
var afterText = emailParts[2];
$("p").html($("p").html().replace(beforeText, "<span class='after'>" + beforeText + "</span>"));
});
http://jsfiddle.net/jL5kL72q/
Для части после @
символа, просто измените beforeText
на afterText
.
С помощью HTML и CSS вы не можете указать, где произошел разрыв, только чтобы вы могли заставить его * переломить. Таким образом, вам понадобится JavaScript, чтобы разбить его на '@'. Но вы не показали, что вы пробовали в своем вопросе. – j08691
Вы могли бы просто заменить "@" на "
@"? – dandavis
Если я неправильно понимаю вас @ j08691, это не совсем правильно, так как есть [''] (https://developer.mozilla.org/en-US/docs/Web/HTML/Element/wbr), который будет разорваться при необходимости (Edit: я только что заметил, что он не работает в IE, вздох!) –
freefaller