Javascript-форум (https://javascript.ru/forum/)
-   Javascript под браузер (https://javascript.ru/forum/css-html/)
-   -   Javascript \ Замена текста (https://javascript.ru/forum/css-html/12690-javascript-%5C-zamena-teksta.html)

grus 29.10.2010 06:30

Javascript \ Замена текста
 
пишу userjs, который заменяет слова на стороне пользователя, с javascript только начал знакомится, появились вопросы

<ul class="tabs" id="maintabs">
<li><a class="selected" rel="#default" ref="#">Play !</a></li>
<li><a rel="maintabs_tab" page="/game/events" href="#" class="">Recent events</a></li>
<!--<li><a href="#" page="/chat" rel="maintabs_tab">Live chat</a></li>-->
</ul>



нужно заменить слово Play !, если меняю с помощью innerHTML, то не работает переход по закладкам, которые на картинке
http://s014.radikal.ru/i326/1010/32/01bf0489a6b7.png
как еще можно заменить текст?

так-же, заменяю слова на странице методом
document.getElementById(arr[i+2]).innerHTML=document.getElementById(arr[i+2]).innerHTML.replace(arr[i],arr[i+1])


при возвращении с закладки recent events - текст снова оригинальный, что можно сделать чтоб он снова заменялся при переходе или как можно рекурсивно вызвать скрипт?

monolithed 29.10.2010 07:45

<a>Play!</a>
<script type="text/javascript">
window.onload = function(){
   var a = document.getElementsByTagName('a')[0];
   a.innerHTML = a.innerHTML.replace(/Play!/,'Stop!');
};
</script>

ksa 29.10.2010 09:30

grus, если текст меняется полностью - можно просто написать

<объект>.innerHTML='новое значение'

grus 29.10.2010 14:34

а решение вот такое, и все работает, спасибо добрым людям
var nav = document.getElementById('maintabs').getElementsByT agName('a');
for (var c = 0; c < nav.length; c++) {
switch (nav[c].innerHTML) {
case 'Play !': nav[c].innerHTML = 'ИГРАААХАХАХАХАТЬ!11'; break;
case 'Recent events': nav[c].innerHTML = 'АВТОЭВЕНТЫ!11'; break;
case 'Live chat': nav[c].innerHTML = 'МЕРТВЫЙ ЧАД!11'; break;
}
}


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