Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Как поменять текст листа? (https://javascript.ru/forum/dom-window/10879-kak-pomenyat-tekst-lista.html)

uhti 26.07.2010 14:13

Как поменять текст листа?
 
Подскажите, как поменять текст листа.

document.getElementById("treeMenuID").childNodes[0].innerText = "Новый текст";

не работает.

Skipp 26.07.2010 14:28

document.getElementById("treeMenuID").firstChild.i nnerHTML = "Новый текст";

uhti 26.07.2010 15:20

Тоже самое, только хуже.
Не работает в смысле у нода текст меняется, свойства меняются - цвет, навигация..

Skipp 26.07.2010 15:22

Приведи весь код и пиши понятнее пожалуйста.

uhti 26.07.2010 15:35

Прошу прощения

На сервере создаю элемент страницы

<asp:TreeView ID="treeMenuID" runat="server" ShowLines="True">
<Nodes>
<asp:TreeNode Text="NAME" Value="NAME">
.....
</Nodes></asp:TreeView>


На клиенте по обстоятельствам надо поменять "NAME" на "NEW NAME"
function getClientVinBack(result, context)
{
document.getElementById("treeMenuID").firstChild.i nnerText = "NEW NAME";
}

Текст меняется, но все свойства нода слетают до свойств текста.

Как понимаю здесь firstChild и childNodes[0] одно и тоже, хотя это неважно.

Skipp 26.07.2010 15:37

document.getElementById("treeMenuID").firstChild.firstChild.innerHTML = "Новый текст";


А так?

uhti 26.07.2010 15:47

если посмотреть в отладчике то в document.getElementById("treeMenuID").firstChild.f irstChild.innerHTML содержится сле-е:

"<TABLE style="BORDER-RIGHT-WIDTH: 0px; BORDER-TOP-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px" cellSpacing=0 cellPadding=0>
........................
......................."

а в document.getElementById("treeMenuID").firstChild.f irstChild.innerText

"NAME"

так, что первый вариант как то хуже.. Вам не кажется

uhti 26.07.2010 16:02

Нашел, моему корневому ноду был присвоен id = "treeMenuIDt0"; по соображениям компилятора.
соответственно document.getElementById("treeMenuIDt0").innerText = "New name";

x-yuri 26.07.2010 19:52

а если компилятор решит поменять id по своим соображениям, опять будешь искать, что он там себе придумал? У элементов управления есть такая штука как ClientID
http://stackoverflow.com/questions/1...rom-javascript
хотя могут быть проблемы просто из-за изменения элемента управления напрямую через javascript, а не через серверные методы


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