Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   изменение стиля для тега используя JS (https://javascript.ru/forum/dom-window/13629-izmenenie-stilya-dlya-tega-ispolzuya-js.html)

dimiork 07.12.2010 03:32

изменение стиля для тега используя JS
 
есть цитатник, а-ля башорг, в БД цитата выглядит примерно так:


x: бла бла бла
y: алб алб алб
<hide>z: придурки</hide>

Необходимо, чтобы при генерации страницы, JS дописывал всему, что внутри тега <hide>$1</hide> стиль : пунктирное подчеркивание (border-bottom: 1px dotted red;)

Много Гуглил, вот кусок примерно подходящий:
"edit.onblur = function() {
var t = edit.value;
edit.onblur = function() {
var t = edit.value;
t = t.replace(/!(.+)!/g, '<i>$1</i>'); // replace !...! by italic text
t = t.replace(/\*(.+)\*/g, '<b>$1</b>'); // replace *..* by bold text

t = t.replace(/\*(.+)\*/g, '<b>$1</b>'); // replace *..* by bold text
" но все же не совсем то.

Если кто-либо из Вас понял что я попытался описать, помогите советом пожалуйста :)

Aetae 07.12.2010 04:03

alert('x: бла бла бла\ny: алб алб алб\n<hide>z: придурки</hide>'.replace(/<hide>(.*)<\/hide>/g, '<span style="border-bottom: 1px dotted red">$1</span>'));

Только это не так должно делаться.
по хорошему вместо левого '<hide>' сразу генерировать 'span' и прописывать всем span'ам в блоке стиль.
т.е.:
<style type="text/css">
div.quote {white-space:pre}
div.quote span{border-bottom: 1px dotted red}
</style>
<div class='quote'>
x: бла бла бла
y: алб алб алб
<span>z: придурки</span>
</div>
<div class='quote'>
x: 1234567
y: 7654321
<span>z: придурки</span>
</div>

dimiork 13.12.2010 10:47

Благодарю. Действительно, если сделать так как это делается правильно так даже легче, чем городить забор.


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