Показать сообщение отдельно
  #1 (permalink)  
Старый 23.05.2018, 21:08
Интересующийся
Отправить личное сообщение для Oleg0 Посмотреть профиль Найти все сообщения от Oleg0
 
Регистрация: 07.04.2016
Сообщений: 28

Заменить теги и двоеточия на несколько тегов
Привет всем!

Хочу заменить
<div class="harakteristiki">
<h3>Характеристики</h3>
<ul>
	<li>
		Двигатель: бензиновый Honda GCV160</li>
	<li>
		Мощность (л.с.): 3,8</li>
	<li>
		Объём двигателя (см<sup>3</sup>): 160</li>
	<li>
		Ширина кошения (см): <b>56</b></li>
</ul>
					
</div>


на

<div class="harakteristiki">
<h3>Характеристики</h3>
<ul>
	<li>
		<span>Двигатель</span>:<span class="dv"> бензиновый Honda GCV160</span></li>
	<li>
		<span>Мощность (л.с.)</span>:<span class="dv">  3,8</span></li>
	<li>
		<span>Объём двигателя (см<sup>3</sup>)</span>:<span class="dv">  160</span></li>
	<li>
		<span>Ширина кошения (см)</span>:<span class="dv"> <b>56</b></span></li>
</ul>
					
</div>


Поискал в интернете, и попробовал сделать так:

<script type="text/javascript">
document.getElementById('harakteristiki').innerHTML = document.getElementById('harakteristiki').innerHTML.replace(/<li>/g, '<li><span>');
 
document.getElementById('harakteristiki').innerHTML = document.getElementById('harakteristiki').innerHTML.replace(/\:/g, '<\/span>:<span class="dvoe">');

document.getElementById('harakteristiki').innerHTML = document.getElementById('harakteristiki').innerHTML.replace(/<\/li>/g, '<\/span><\/li>');
</script>


В браузере выглядит как надо, но, мне кажется, что сам браузер, благодаря его уму, просто автоматически закрывает не закрытые теги span и li, но само закрытие тегов работает не корректно. Сделал такой вывод, подставляя разные символы (просто цифры 1 и 2) в разные места этих тегов, типа
1<\/span>2<\/li>
. И цифры 1 и 2 выводятся просто вместе 12.

Посмотрите, пожалуйста, этот код. Всё ли там правильно работает? Или, может этот код вообще дурацкий и надо делать по другому?
Ответить с цитированием