Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   добавление текста в елемент (https://javascript.ru/forum/misc/4565-dobavlenie-teksta-v-element.html)

COKOJIOB 03.08.2009 14:54

добавление текста в елемент
 
не могу понять как это правильно, делается.
я так понимаю что так, ничего не работает:

document.getElementById("elemId").value='text';
или так
document.getElementById("elemId").write('text');

вопрос может и глупый, но всё же..

B~Vladi 03.08.2009 14:56

document.getElementById("elemId").firstChild.nodeValue+='text';

COKOJIOB 03.08.2009 15:01

спасибо, работает.

хотелось бы еще понять принцип работы

B~Vladi 03.08.2009 15:11

Рассмотрим такой HTML-кусок:
<div>First div</div>other text<span>Last child</span>

Здесь дерево DOM будет таким:

-element
---text node
-text node
-element
---text node

element - узел (тег, nodeType==1)
text node - текстовый узел, ребёнок тега (firstChild - первый ребёнок) (nodeType==3)

nodeValue - свойство текстового узла, содержит его значение (текст)
Что бы поменять содержимое тега - innerHTML - содержит html-код узла.

Вобщем, читайте DOM

COKOJIOB 03.08.2009 15:18

понял, спасибо.

по сути нужно обращаться не к самому объекту, а к тексту внутри него.

еще я видел куски кода где вместо value использовано innerHTML, так тоже можно?

B~Vladi 03.08.2009 15:22

Я же вам только что написал...

Чтобы поменять текст тега:
document.getElementById("elemId").childNodes[0].nodeValue='text';


Чтобы поменять HTML-код тега:
document.getElementById("elemId").innerHTML='text';

COKOJIOB 03.08.2009 15:26

Цитата:

Сообщение от B~Vladi (Сообщение 25878)
Я же вам только что написал...

Чтобы поменять текст тега:
document.getElementById("elemId").childNodes[0].nodeValue='text';


Чтобы поменять HTML-код тега:
document.getElementById("elemId").innerHTML='text';

HTML-код тега -это все его атрибуты?

B~Vladi 03.08.2009 15:30

Соколов, ёмаё...

<div id="id">wdewe<b>asdas</b>as<i>da</i>sd</div>

Внимание вопрос: покажите мне html-код тега div.

ЗЫ: если ответ будет неверным - качаем 5 Гб книг по JavaScript и учим, меня не достаём.

COKOJIOB 03.08.2009 15:37

HTML -код это всё что написано между < и >

COKOJIOB 03.08.2009 15:41

всё сам врубился.
что где value теги не отрабатываются.

B~Vladi 03.08.2009 15:42

нет:(

это
wdewe<b>asdas</b>as<i>da</i>sd


Основы вам никто рассказывать не будет... Учитесь, разбирайтесь, а что непонятно будет - спрашивайте, поможем.
ЗЫ: "непонятно" - это не значит "незнаю", а именно "непонятно".

B~Vladi 03.08.2009 15:43

value - это свойство некоторых узлов - элементов формы(текст, кнопка и т.д.). К простым тегам это не относится... Нет у дива такого свойства.

COKOJIOB 03.08.2009 15:55

Цитата:

Сообщение от B~Vladi (Сообщение 25883)
нет:(

это
wdewe<b>asdas</b>as<i>da</i>sd


Основы вам никто рассказывать не будет... Учитесь, разбирайтесь, а что непонятно будет - спрашивайте, поможем.
ЗЫ: "непонятно" - это не значит "незнаю", а именно "непонятно".

может я вас неправильно понял.

но мне кажется что HTML-код дива и внутренний HTML-код дива(его содержимое) это разные вещи.

в-общем это ясно.

остается вопрос по-поводу метода write.

B~Vladi 03.08.2009 16:14

write - это метод документа(document)
Работает он только при загрузке страницы. Когда страница уже загрузилась он работать не будет.

COKOJIOB 03.08.2009 16:46

тогда позвольте еще вопрос:

почему не работает код
document.getElementById('p1').onclick='clk()';

хотя это отрабатывает:
document.getElementById('p1').setAttribute('onclic k','clk()');

B~Vladi 03.08.2009 16:56

Учи синтаксис

ЗЫ:document.getElementById('p1').onclick=functio n(){clk();};

Tolstiy 24.10.2009 03:48

Читая ваши труды прослезился.))))
 
Ребят, вот вы здесь развели! Я извеняюсь за спам, но читая ваши труды не выдержал. Один откровенно тупит, Соколов, ну дал тебе человек ссылку на замечетельную книгу, где на пальцах все объяснено! А господин профессор откровенно зарылся и не может человеку сразу нормально ответить на поставленный вопрос, что из себя корчить, если все равно время тратишь на ответы.
Ну народ.)) Я еще раз извеняюсь. Можете не посылать, я сам дальше пошел. Спасибо профессору за конкретную ссылку. Книженция в порядке, без воды.))

e1f 24.10.2009 14:49

Tolstiy, +1 :)
B~Vladi, ай-яй-яй ;)

B~Vladi 24.10.2009 18:16

Цитата:

Сообщение от e1f
B~Vladi, ай-яй-яй

:D стараемся...


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