Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Изменение определенного слова (https://javascript.ru/forum/jquery/58531-izmenenie-opredelennogo-slova.html)

Step48_rus 28.09.2015 08:47

Изменение определенного слова
 
Всем привет,пожалуйста помогите!
у меня есть див, в диве название товара , допустим EGS DSCAN 2 PLUS
нужно что бы слово EGS обертывалось дополнительно в див с классом, как это сделать, очень нужно.
До:
<div>EGS DSCAN 2 PLUS</div>
Вот,что в итоге должно получиться:
<div><div class="proizvoditel">EGS</div>DSCAN 2 PLUS</div>
Заранее спасибо за ответы)

ksa 28.09.2015 09:04

Цитата:

Сообщение от Step48_rus
нужно что бы слово EGS обертывалось дополнительно в див с классом, как это сделать, очень нужно.
До:
<div>EGS DSCAN 2 PLUS</div>

Вот,что в итоге должно получиться:
<div><div class="proizvoditel">EGS</div>DSCAN 2 PLUS</div>

Как вариант...

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.proizvoditel {
	border: 1px solid;
}
</style>
<script type='text/javascript'>
$(function(){
	$('#test').html($('#test').text().replace(/^([^\s]+)/,'<div class="proizvoditel">$1</div>'))
});
</script>
</head>
<body>
<div id='test'>EGS DSCAN 2 PLUS</div>
</body>
</html>

Step48_rus 28.09.2015 10:12

не совсем то, в <div class="proizvoditel"></div> может быть до 3 слов

Step48_rus 28.09.2015 10:20

$('.single-product .page-title').each(function(){
var stringAAA =$(this).text();
if (stringAAA == 'EGS'){$(this).html('<div>EGS</div>');}
});

нужно что то на подобии этого, но это не работает в таком виде

$('.single-product .page-title').each(function(){
var stringAAA =$(this).text();
if (stringAAA == 'EGS DSCAN 2 PLUS'){$(this).html('<div>EGS</div>');}
});

в таком работает, но выводит только <div>EGS</div>

ksa 28.09.2015 10:37

Цитата:

Сообщение от Step48_rus
в <div class="proizvoditel"></div> может быть до 3 слов

Так ты с критериями определись. :D
Что именно тебе нужно совать в тот див?

Step48_rus 28.09.2015 11:18

смотри, наименование товара EGS DSCAN 2 PLUS нужно что бы производитель, в данном случае он EGS выводился в блоке,что бы ему стили дописать другие, все производители известны,вот и думаю,можно ли как то определенное слово/группу слов вывести в блок или нет,что то подобное было тут,но я не нашел.

ksa 28.09.2015 11:28

Цитата:

Сообщение от Step48_rus
нужно что бы производитель

Как понять из абстрактной фразы, что некий набор первых слов есть производитель?

Step48_rus 28.09.2015 12:29

так вот я и говорю,что все производители известны, просто раньше видел такую штуку,скрипт проверяет есть ли дано слово в блоке, и потом заменяет его на другое слово. т.е .можно было бы и попробывать заменить не на слово,а на блок со словом

ksa 28.09.2015 13:24

Цитата:

Сообщение от Step48_rus
видел такую штуку,скрипт проверяет есть ли дано слово в блоке, и потом заменяет его на другое слово

Дык!

<!DOCTYPE html>
<html>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=windows-1251' />
<script src='http://code.jquery.com/jquery-latest.js'></script>
<!--
<script src="https://code.angularjs.org/1.3.9/angular.min.js"></script>
<script src="https://code.angularjs.org/1.3.9/angular-route.js"></script>
-->
<style type='text/css'>
.proizvoditel {
	border: 1px solid;
}
</style>
<script type='text/javascript'>
$(function(){
	var str='блок слов';
	var re=new RegExp('('+str+')');
	$('#test').html($('#test').text().replace(re,'<div class="proizvoditel">$1</div>'))
});
</script>
</head>
<body>
<div id='test'>блок слов DSCAN 2 PLUS</div>
</body>
</html>

Step48_rus 28.09.2015 13:38

чувак,ты крут,спасибо большое,все арбайтен)


Часовой пояс GMT +3, время: 06:08.