Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.08.2011, 17:02
Аспирант
Отправить личное сообщение для qwertyuiop Посмотреть профиль Найти все сообщения от qwertyuiop
 
Регистрация: 02.06.2011
Сообщений: 71

вставка текста в начато каждой строки
можноли с помощью javascript сделать, чтобы в начале каждой новой строки вставлялся номер и " | "
<div class="code">
lalalalalalala<br />
blablabla<br />
tratata<br />
lalalala<br />
</div>

переделалось в:
<div class="code">
1 | lalalalalalala<br />
2 | blablabla<br />
3 | tratata<br />
4 | lalalala<br />
</div>

может найти блок: document.getElementsByClassName("code"), добавить в начало 1 | , и потом циклом добавлять послекаждого <br />?
ток как это сделать?
Ответить с цитированием
  #2 (permalink)  
Старый 01.08.2011, 17:41
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от qwertyuiop
можноли с помощью javascript сделать, чтобы в начале каждой новой строки вставлялся номер и " | "
Можно много чего сделать. Как вариант, делать замену вхождений:
<div class="code">
    This is line #1<br />
    This is line #2<br>
    This is line #3<br />
</div>

<script>
var cont = document.querySelector('.code');
var code = cont.innerHTML;

var i = 0;
var getLine = function() {
    return ++i + '|';
};
code = code.replace(/^\s*/, getLine).replace(/<br.*?\/?>\s*(?!\s*$)/g, function() {
    return '<br />' + getLine();
});
cont.innerHTML = code;
</script>

А вообще - это хрень какая-то. Это не так делается. Каждая строчка кода обчно обернута свой контейнер, например параграф. Каждый номер строки представляет собой тоже, скажем, span, а не просто текст + |
Ответить с цитированием
  #3 (permalink)  
Старый 01.08.2011, 17:52
Аспирант
Отправить личное сообщение для qwertyuiop Посмотреть профиль Найти все сообщения от qwertyuiop
 
Регистрация: 02.06.2011
Сообщений: 71

<html>
<head>
<title></title>
</head>
<body>
<div id="code">
<p>aaaaaaaaa<br />
<p>bbbbbbbbb<br />
<p>ccccccccc<br />
<p>ddddddddd
</div>
<script type="text/javascript">
lis=document.getElementById('code')
for (var i=0;i<lis.getElementsByTagName("p").length;i++){
x=i+1
firsti = lis.getElementsByTagName('p')[i]
newListElem = document.createElement('span')
newListElem.innerHTML = x+' | '
lis.insertBefore(newListElem, firsti)}
</script>
</body>
</html>

так?
Ответить с цитированием
  #4 (permalink)  
Старый 01.08.2011, 17:55
Аспирант
Отправить личное сообщение для qwertyuiop Посмотреть профиль Найти все сообщения от qwertyuiop
 
Регистрация: 02.06.2011
Сообщений: 71

ваый,
ток он текст переносит, походу из-за параграфа
Ответить с цитированием
  #5 (permalink)  
Старый 01.08.2011, 17:59
Аспирант
Отправить личное сообщение для qwertyuiop Посмотреть профиль Найти все сообщения от qwertyuiop
 
Регистрация: 02.06.2011
Сообщений: 71

<html>
<head>
<title></title>
<style type="text/css">
<!--
div div{display:inline}
-->
</style>
</head>
<body>
<div id="code">
<div>aaaaaaaaa</div><br />
<div>bbbbbbbbb</div><br />
<div>ccccccccc</div><br />
<div>ddddddddd</div><br />
</div>
<script type="text/javascript">
lis=document.getElementById('code')
for (var i=0;i<lis.getElementsByTagName("div").length;i++){
x=i+1
firsti = lis.getElementsByTagName('div')[i]
newListElem = document.createElement('span')
newListElem.innerHTML = x+' | '
lis.insertBefore(newListElem, firsti)}
</script>
</body>
</html>
Ответить с цитированием
  #6 (permalink)  
Старый 01.08.2011, 18:11
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Ооооо.. Прежде чем делать что-то на javascript, надо для начала хотя бы изучить основы html, а то ничего хорошего их этого не получится.
Ответить с цитированием
  #7 (permalink)  
Старый 01.08.2011, 18:26
Аспирант
Отправить личное сообщение для qwertyuiop Посмотреть профиль Найти все сообщения от qwertyuiop
 
Регистрация: 02.06.2011
Сообщений: 71

а что такое? я знаю хтмл нормально
Ответить с цитированием
  #8 (permalink)  
Старый 01.08.2011, 18:35
Профессор
Отправить личное сообщение для ваый Посмотреть профиль Найти все сообщения от ваый
 
Регистрация: 29.06.2011
Сообщений: 445

Сообщение от qwertyuiop Посмотреть сообщение
а что такое? я знаю хтмл нормально
1. <p>aaaaaaaaa<br />
2. <div>aaaaaaaaa</div><br />
Как-то не очень..
Ответить с цитированием
  #9 (permalink)  
Старый 01.08.2011, 19:42
Профессор
Отправить личное сообщение для розовый слоник Посмотреть профиль Найти все сообщения от розовый слоник
 
Регистрация: 17.10.2009
Сообщений: 258

lis=document.getElementById('code')
	for (var i=0;i<lis.getElementsByTagName("div").length;i++){
	x=i+1
	firsti = lis.getElementsByTagName('div')[i]
	newListElem = document.createElement('span')
	newListElem.innerHTML = x+' | '
	lis.insertBefore(newListElem, firsti)}


жесть
во первых где var перед каждой переменной?
во вторых зачем так делать? нельзя просто через innerHTML это все делать и не писать лишние 4е строчки?
Ответить с цитированием
  #10 (permalink)  
Старый 01.08.2011, 21:42
Аспирант
Отправить личное сообщение для qwertyuiop Посмотреть профиль Найти все сообщения от qwertyuiop
 
Регистрация: 02.06.2011
Сообщений: 71

розовый слоник,
как? я с DOM плохо работаю
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вставка текста в форму при нажатии на ссылку Sergei1988 Общие вопросы Javascript 2 03.04.2011 22:05
Regexp replace с начала текста, а не строки qst13r1245r12 Общие вопросы Javascript 1 19.03.2010 09:30
Вставка текста в textarea после выбора select option modelisto Общие вопросы Javascript 2 14.10.2009 19:27
Вставка текста с одной страницы в форму на другой странице Dima Общие вопросы Javascript 19 22.01.2009 17:35