Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Изменение надписи на Web-странице (https://javascript.ru/forum/css-html/15389-izmenenie-nadpisi-na-web-stranice.html)

MrBadge 24.02.2011 16:58

Изменение надписи на Web-странице
 
Часть кода на HTML-странице:

Код:

<div class="11111" style="cursor: default">
  <div class="22222">TEXT</div>
  ...
</div>

Нужно изменить значение 11111 и TEXT. Сам программирую на дельфи, а тут вдруг понадобился яваскрипт). Заранее спасибо

ksa 24.02.2011 21:52

Цитата:

Сообщение от MrBadge
Часть кода

Мало информации... Ответ может быть ооочень общим. :)
Тебе нужно у всех дивов такое менять? Или только у этих двух? Может у них есть некий материнский элемент? Это ускорит такого рода преобразования...

MrBadge 24.02.2011 22:28

да, нужно поменять только в этих дивах (такие дивы (по классу) единственные). Родительского элемента, как такового, нет. Может, можно организовать поискам по дивам? типа if div.class='11111' then .. ?

время особенно не важно (в пределах разумного))

ksa 25.02.2011 10:10

Цитата:

Сообщение от MrBadge
такие дивы (по классу) единственные. Родительского элемента, как такового, нет

Тогда как вариант...

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.a11111 {
	border: 1px solid red;
	cursor: default;
}
.a33333 {
	border: 1px solid green;
}
</style>
<script>
function Go() {
	var o=document.getElementsByTagName('div')
	var i
	for (i=0; i<o.length; i++) {
		switch (o[i].className) {
			case 'a11111':
				o[i].className='a33333'
				break
			case 'a22222':
				o[i].innerHTML='Test'
				break
		}
	}
}
</script>
</head>
<body>
<div class="a11111">
  <div class="a22222">TEXT</div>
</div>
<input type='button' value='Go' onclick='Go()' />
</body>
</html>


Поскольку у тебя идентификаторы классов не соответствуют спецификации, я их немного изменил... :)

ksa 25.02.2011 10:14

Цитата:

Сообщение от MrBadge
такие дивы (по классу) единственные

Таки нужно это использовать себе воблаго! :)

<!DOCTYPE html>
<html>
<head>
<title></title>
<style type="text/css">
.a11111 {
	border: 1px solid red;
	cursor: default;
}
.a33333 {
	border: 1px solid green;
}
</style>
<script>
function Go() {
	document.getElementById('d1').className='a33333'
	document.getElementById('d2').innerHTML='Test'
}
</script>
</head>
<body>
<div id='d1' class="a11111">
	<div id='d2' class="a22222">TEXT</div>
</div>
<input type='button' value='Go' onclick='Go()' />
</body>
</html>


Видишь разницу? :)

MrBadge 25.02.2011 11:23

Спасибо) Пока не работает, но все еще впереди) Вопрос: если в названии класса есть пробел, нужно ли как-то его выделять? Второй код не подходит, тк html страница не моя и именно у этих дивов айди нет)(скрипт для адресной строки) приведу код еще раз с нормальными названиями классов)

<div class="line yrov0" style="cursor: default">
  <div class="line_nadpis">TEXT</div>
  <div>
    <div class="line_l fl_l" style="width: 184px;"></div>
    <div class="line_r fl_r" style="width: 16px;"></div>
  </div>
</div>


"line yrov0" → "line yrov1"
TEXT → New_text

ksa 25.02.2011 20:45

Цитата:

Сообщение от MrBadge
если в названии класса есть пробел

Это уже два класса. :)

Цитата:

Сообщение от MrBadge
Второй код не подходит

Тогда переделай первый под свои значения...

MrBadge 25.02.2011 22:42

хах) да, конечно я переделал под свои значения=)
Делаю так:

javascript:
	var o=document.getElementsByTagName('div'); 
	var i;
	for (i=0; i<o.length; i++) {
		switch (o[i].className) {
			case 'yrov0':
				o[i].className='yrov1';
				break;
			case 'line_nadpis':
				o[i].innerHTML='New_text';
				break;
		};
	};


Но по непонятным причинам он не работает ...

dmitriymar 26.02.2011 00:22

; ставить не учили?

MrBadge 26.02.2011 10:38

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


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