Поиск и упаковка текста с тегом в другой тег - PullRequest
2 голосов
/ 28 июля 2010

Для результата исключения есть текст:

<span class='sException'>Exception throwed. Please check details:
Message:String was not recognized as a valid DateTime.
Stack: at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style) at ... 
</span>

Я хочу обернуть некоторые тексты (Message: Stack: и тексты между ними) css Поэтому я хочу получить это в результате:

<span class='sException'>Exception throwed. Please check details:
<b>Message:</b><span class='sMessage'>String was not recognized as a valid DateTime.</span>
<b>Stack:</b><span class='stack'> at System.DateTimeParse.ParseExact(String s, String format, DateTimeFormatInfo dtfi, DateTimeStyles style) at ... </span>
</span>

Есть ли способ сделать это с помощью CSS?

что-то вроде этого:

.sException{ text-align:left; border:1px solid red; }
.sException[find text like 'Message:']{ display:block; font-weight:bold; text-indet:20px; }
.sException[find text after 'Message:']{ display:block; font-weight:normal; text-indet:30px; }
.sException[find text like 'Stack:']{ display:block; font-weight:bold; text-indet:20px; }
.sException[find text after 'Stack:']{ display:block; font-weight:normal; text-indet:30px; }

Ответы [ 2 ]

1 голос
/ 28 июля 2010

Этого нельзя сделать только с помощью css, вам тоже нужно немного javascript.

JQuery:

var $sException = $('.sException'),
    _str_msg    = $sException.text();
_str_msg = _str_msg.replace(/(Message:)/g, '<b>$1</b>');

$sException.html(_str_msg);

Теперь вы можете добавить css class в строку замены (<b class="anything">)

1 голос
/ 28 июля 2010

Css не собирается генерировать теги.CSS это стиль тегов.Вам нужно будет использовать jquery для анализа содержимого .sException и форматирования данных

$('.sException').each(function() {
  var content = $(this).text();
  if(content.indexOf('Message:') > -1) {
    // wrap in span tags
  }
  // etc
  $(this).html(content);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...