Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Замена текстовой части списка (https://javascript.ru/forum/events/30198-zamena-tekstovojj-chasti-spiska.html)

psydo 27.07.2012 15:11

Замена текстовой части списка
 
Добрый день,
вот вопрос, есть список -
<ul id="sc2" class="sub_catalog" style="display: block">
<li>
<a href="#">Пункт 1</a>
</li>
<li>
<a href="#">Пункт 2</a>
</li>
<li>
<a href="#">Пункт 3</a>
</li>
<li>
<a href="#">Пункт 4</a>
</li>
<li>
<a href="#">Пункт 5</a>
</li>
<li>
<a href="#">Пункт 6</a>
</li>
</ul>

подскажите пожалуйсто как скриптом поментяь надпись "Пункт 4" на любую другую например на "пункт - неназначен" ?
Спасибо!

bes 27.07.2012 15:32

например, получить коллекцию ссылок в списке, обратиться по номеру, изменить innerHTML
http://learn.javascript.ru/document

bes 27.07.2012 15:38

<ul id="sc" class="sub_catalog" style="display: block">
<li>
<a href="#">click</a>
</li>
<li>
<a href="#">Пункт 2</a>
</li>
<li>
<a href="#">Пункт 3</a>
</li>
<li>
<a href="#">Пункт 4</a>
</li>
<li>
<a href="#">Пункт 5</a>
</li>
<li>
<a href="#">Пункт 6</a>
</li>
</ul>

<script>
window.onload = function () {
	var sc = document.getElementById('sc');
	sc.onclick = function () {
		a = sc.getElementsByTagName('a');
		a[0].innerHTML = 'ok';
	}
}
</script>

Можно и через target
PS: контекст задачи не ясен

psydo 27.07.2012 17:02

надо именно в определенном пункте li без изменения этого пункта а лишь скриптом если он загружен менять эту надпись...
саму надпись "пункт 4" на другую надпись...
У меня движок у сайта устроен так что есть шаблон страницы. На ней можно размещать html блоки. Страниц с этим списком из примера куча и чтобы сменить везде предется не один десяток страниц править. Я хочу добавить в файл шаблона скрипт чтобы - если он на странице находит такой пункт меню благо у него id есть и везде одинаков то в его теле менял надпись ...как то так...

psydo 27.07.2012 17:03

но именно в li с id = cs и именно 4й пункт меню.

bes 27.07.2012 18:05

Цитата:

Сообщение от psydo
но именно в li с id = cs и именно 4й пункт меню.

наверное с ul id=cs
ну дык номер нужный подставьте

Цитата:

Сообщение от psydo
надо именно в определенном пункте li без изменения этого пункта а лишь скриптом если он загружен менять эту надпись...

если поменяется надпись, то содержимое этого пункта также поменяется (противоречие)

Цитата:

Сообщение от psydo
У меня движок у сайта устроен так что есть шаблон страницы. На ней можно размещать html блоки. Страниц с этим списком из примера куча и чтобы сменить везде предется не один десяток страниц править. Я хочу добавить в файл шаблона скрипт чтобы - если он на странице находит такой пункт меню благо у него id есть и везде одинаков то в его теле менял надпись ...как то так...

по событию загрузки и меняйте, id у этих блоков одинаковый, пункты по счёту тоже, что не так?

bes 27.07.2012 18:17

Так лучше?
<ul id="sc" class="sub_catalog" style="display: block">
<li>
<a href="#">Пункт 1</a>
</li>
<li>
<a href="#">Пункт 2</a>
</li>
<li>
<a href="#">Пункт 3</a>
</li>
<li>
<a href="#">Пункт 4</a>
</li>
<li>
<a href="#">Пункт 5</a>
</li>
<li>
<a href="#">Пункт 6</a>
</li>
</ul>

<script>
window.onload = function () {
	document.getElementById('sc').children[3].innerHTML = 'Пункт не назначен';
	//document.getElementById('sc').getElementsByTagName('li')[3].innerHTML = 'Пункт не назначен';
}
</script>

psydo 30.07.2012 10:16

Спасибо огромное! То что нужно!


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