[JS] Неправильная работа функции

Статус
В этой теме нельзя размещать новые ответы.

Fak1r

Постоялец
Регистрация
8 Янв 2008
Сообщения
88
Реакции
18
Есть функция которая получает значение атрибута title в теге img и заменяет этим содержимым текст в теге span. Функция работает, но не совсем правильно, происходит замена не текста в теге span, а самого тега.

Функция:
Код:
function RenamePlanets(){
  var divR = document.getElementById("planets");
  var spanR = divR.getElementsByTagName("span");
  for(p=0; p< spanR.length; p++){
    spanR[p].outerText = spanR[p].all.item(0).getAttribute("title");
  }
}

Код страницы:
Код:
<div id="planets">
<ul>
	 <li class="cur-planet">
		<span class="goto" rel="23"><img src="01.jpg" title="q" alt="q" width="60" height="60" class="image" /><br />name</span>
	</li>  <li>
		<span class="goto" rel="210"><img src="06.jpg" title="a" alt="a" width="60" height="60" class="image" /><br />name</span>
	</li>  <li>
		<span class="goto" rel="244"><img src="01.jpg" title="s" alt="s" width="60" height="60" class="image" /><br /name</span>
	</li>
</ul>
</div>
 
вместо outerText - innerText, maybe )
 
еще можешь попробовать innerHTML
 
Все пробывал, результат тот же
 
C innerHTML все прекрасно работает, только что проверил на твоем примере.
У тебя вот эта ошибочка: "spanR[p].all is undefined"
 
omfg
Вот как раз и не работает так как нада.
Мне нада чтобы функция брала "текст 1" и заменала им "текст 2"
Код:
<span class="goto" rel="244"><img src="01.jpg" title="[B]текст 1[/B]" alt="s" width="60" height="60" class="image" /><br />[B]текст 2[/B]</span>

С outerText
При выполнении функции первой и третьей строке тег span полностью заменяются текстом из title, а со вротой строкой вообще ни чего не происходить

С innerText
Заменяется весь текст.

вот код страници, не фига не получается.
Код:
<html>
<body>
<script>
function RenamePlanets(){
  var divR = document.getElementById("planets");
  var spanR = divR.getElementsByTagName("span");
  for(p=0; p< spanR.length; p++){
    spanR[p].outerText = "XXX";
  }
  alert(divR.innerHTML);
}
</script>

<input type="button" name="TestInpThis" value="OK" onclick="RenamePlanets()">

<div id="planets">
<ul>
	 <li class="cur-planet">
		<span class="goto" rel="23"><img src="01.jpg" title="q" alt="q" width="60" height="60" class="image" /><br />name</span>
	</li>  <li>
		<span class="goto" rel="210"><img src="06.jpg" title="a" alt="a" width="60" height="60" class="image" /><br />name</span>
	</li>  <li>
		<span class="goto" rel="244"><img src="01.jpg" title="s" alt="s" width="60" height="60" class="image" /><br> /name</span>
	</li>
</ul>
</div>

</body>
</html>
 
Могу предложить как временное решение, убрать <br />, а текст обернуть в <p> & ByTagName('p').
Странно, что вместе с текстом меняется и html, хотя alert выводит только текст.
 
Статус
В этой теме нельзя размещать новые ответы.
Назад
Сверху