<div id="d1">Съешь еще этих мягких французских булок да выпей же чаю, жуёба
3
25утолимоипечали</div>
<script>
var text = document.getElementById('d1');
text.innerHTML = text.innerHTML.replace(/^\s|\s$/g, '').replace(/^.|.$/g, '<span style="color:red;">$&</span>');
</script>
что ты сделал с моими пробелами)? |
Цитата:
Цитата:
|
Цитата:
|
еще такой вариант
<p> Duis te feugifacilisi </p>
<script type="text/javascript">
with(document.getElementsByTagName("p")[0]) {
var x = "<span style=\"color:green\">$&</span>";
innerHTML = innerHTML.replace(/\S(?=\s*$)/, x).replace(/\S/, x);
}
</script>
|
<p> D </p>
<script type="text/javascript">
with(document.getElementsByTagName("p")[0]) {
var x = "<span style=\"color:green\">$&</span>";
innerHTML = innerHTML.replace(/\S(?=\s*$)/, x).replace(/\S/, x);
}
</script>
Два реплейса подряд делать не стоит. |
Gozar, спасибо, понял. Вроде как исправил, только один момент мне остается не ясным: куда деваются пробелы и знаки табуляции в начале и конце строки?) Ясно IE шутки шутит) Собственно, какая разница как будет захватывать спан с пробелами или нет, если на странице это все равно не заметно (в данном случае)?
<p> Duis te feugifacilisi </p>
<script type="text/javascript">
with(document.getElementsByTagName("p")[0]) {
innerHTML = innerHTML.replace(/^\s*(\S)|(\S)\s*$/g, function(f1, f2, f3) {
return "<span style='color:green'>" + (f3 || f2 || f1) + "</span>";
});
alert("!" + innerHTML + "!");
}
</script>
Ну как-то так... |
Цитата:
|
Цитата:
<p id="text"> text </p>
<script>
var text = document.getElementById('text');
text.innerHTML = text.innerHTML.replace(/^( |\s)+|( |\s)+$/g, '').replace(/^.|.$/g, '<span style="color:red;">$&</span>');
</script>
|
Цитата:
|
Цитата:
В конечном счёте всё сведется к какой-нибудь реге в 50-150 символов :D |
| Часовой пояс GMT +3, время: 23:30. |