Как внести в переменную текст
Здравствуйте, я в js слаб, по этому уже второй день моя борьба с компом продолжается, я пытаюсь написать такой код, есть две ссылки или кнопки на верху страницы, при нажатии на кнопку один выводится один текст, при нажатии на вторую другой (все выводится во одно и тоже место через div), проблема в том что мне надо при нажатии выводить текст со ссылками, и я не как не могу засунуть это все в одну переменную, что делать? я слышал есть другие решения этого, если кто знает подскажите
|
<a href="#" onclick="div.innerHTML=a">a</a> | <a href="#" onclick="div.innerHTML=b">b</a>
<div id="text"></div>
<script>
a='Я: <a href="http://ya.ru">ya</a>';
b='Он: <a href="http://on.ru">on</a>';
div=document.getElementById('text');
</script>
|
Такое у меня уже есть.. У меня проблема в том что текст формеруется php кодом и может иметь вид:
Строка 1: Ссылка Строка 2: Ссылка Строка 3: Ссылка Такое в переменную не засунешь... |
php генерирует html
Если вывод php не содержит переносов, то нет никакой проблемы в том, чтобы сделать так: a='<?php echo $link1 ?>' Если переводы строки есть то правильно править php сторону, а не извращаться с js. Но если очень хочется, то можно вывести результат в скрытый конетйнер, а оттуда зафигачить куда надо.
<div id="old_text" style="display:none">
Я: <a href="http://ya.ru">ya</a>
Он: <a href="http://on.ru">on</a>
</div>
<a href="#" onclick="div.innerHTML=link[1]">a</a> | <a href="#" onclick="div.innerHTML=link[2]">b</a>
<div id="text"></div>
<script>
div=document.getElementById('text');
link=document.getElementById('old_text').innerHTML.split('\n');
</script>
|
спс
|
Я записываю в div текст, а он мне из переменной выводит null
|
Значит вы используете document.getElementById() до того как текст собсно появляется в документе. У меня, заметьте, script идёт после всего.
|
<script>alert(
document.getElementById('inp')
)</script>
<input id="inp">
<script>alert(
document.getElementById('inp')
)</script>
|
Что то не получается, он мне впесто текста выдает [object HTMLDivElement]
|
Все понял, я забыл .innerHTML.split('\n');
Спасибо большое... |
А что делает split('') ?
|
Делит строку куски, получая массив:
alert(
'aaabbbccc'.split('bbb') //[ aaa, ccc ]
)
alert(
'abc'.split('') //[ a, b, c ]
)
http://javascript.ru/String/split Пользуйтесь: http://javascript.ru/manual |
| Часовой пояс GMT +3, время: 08:14. |