Предположим, что следующий элемент (найдите конечное и ведущее пространства):
<p>
<span class="item">Lorem Ipsum is simply dummy text </span><span class="item">of the printing and typesetting</span><span class="item"> industry.</span>
</p>
Я хочу заменить все пробелы на , из-за display: inline-block странного поведения, показанного здесь: http://jsfiddle.net/SQuUZ/ (dunno about все браузеры, но последние Chrome и Firefox действуют одинаково).
Теперь, поскольку javascript является вариантом здесь, так же как и jQuery, я мог:
$('p').text($('p').text().replace(/ /g, ' '));
Но он выходит из и переходит в a mess of entities.
Очевидно, для таких целей мы могли бы использовать $('p').html():
$('p').html($('p').html().replace(/ /g, ' '));
Но это еще хуже, потому что он также добавляет внутри самих тегов:
<p>
<span class="item">Lorem Ipsum is simply dummy text </span><span class="item">of the printing and typesetting</span><span class="item"> industry.</span>
</p>
<!-- TL;DR -->
<span class="item"></span> <!-- is actually invalid... -->
И это все ломает...
Примечания:
- Внутри контейнера не будет
<span>элементов с классомitem(что также не всегда может быть<p>). - Медленные регулярные выражения - это опция (проблема в том, что я не могу придумать один...).
Какие параметры у меня есть?
Обновление:
На самом деле, может ли кто-нибудь объяснить, почему существует такая ошибка с этой многострочной/однострочной display: inline-block;? (См. Ссылку на скрипку выше и рассмотрите...)
Вопрос перенесен на display: inline-block; странное поведение расстояния