Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Поиск и замена в определённом блоке div с классом (https://javascript.ru/forum/misc/14640-poisk-i-zamena-v-opredeljonnom-bloke-div-s-klassom.html)

lameyp 24.01.2011 14:12

Поиск и замена в определённом блоке div с классом
 
Добрый день уважаемые!))

Работаю над тем чтобы убрать на странице у всех ссылок "http://"
и использую вот такой код
window.onload=function(){
document.body.innerHTML = document.body.innerHTML.replace(/http:\/\//g, '');

}


этим кодом я ищу все содержания "http://" и заменяю их на пустоту, получается что они исчезают.
Но визникли проблеммы, я заметил что из за этого скрипта стали нерабочими другие скрипты, по этому я пришёл к такому решению:

Сделать так чтобы скрипт работал только для div блоков с определённым классом...но как такое реализовать не знаю..не работал с классами...

не поможете?


p/s ваш форум помогал не однократно))) сегодня решил зарегаться.)удостоверившис ь что тут сидят норм ребята.!!!!

ksa 24.01.2011 15:19

Цитата:

Сообщение от lameyp
Сделать так чтобы скрипт работал только для div блоков с определённым классом..

Для затравки...

window.onload=function() {
   var o=document.getElementsByTagName('div')
   var i
   for (i=0; i<o.length; i++) {
      if (o[i].className=='MyClass') {
         // Нужные действия
      }
   }
}

lameyp 24.01.2011 15:29

Вообщем то не получается, вероятно я не правильно выполняю действия..

window.onload=function() {
   var o=document.getElementsByTagName('div')
   var i
   for (i=0; i<o.length; i++) {
      if (o[i].className=='r') {
        document.innerHTML = document.innerHTML.replace(/http:\/\//g, '');
      }
   }
}




вот так удаляет все фразы http:// из документа

window.onload=function() {
   var o=document.getElementsByTagName('div')
   var i
   for (i=0; i<o.length; i++) {
      if (o[i].className=='r') {
        document.body.innerHTML = document.body.innerHTML.replace(/http:\/\//g, '');
      }
   }
}



а вот так не работает совсем

window.onload=function() {
   var o=document.getElementsByTagName('div')
   var i
   for (i=0; i<o.length; i++) {
      if (o[i].className=='r') {
       replace(/http:\/\//g, '');
      }
   }
}

Kolyaj 24.01.2011 15:38

Цитата:

Сообщение от lameyp
Работаю над тем чтобы убрать на странице у всех ссылок "http://"

А чего вы этим хотите добиться? Ссылки-то битые получаются.

розовый слоник 24.01.2011 16:32

вообще то нужно обращаться к элементу
то есть o[i].innerHTML.replace(/http:\/\//g, '');
а вы явно, что то не то делаете.

ksa 24.01.2011 16:33

Цитата:

Сообщение от Kolyaj
А чего вы этим хотите добиться? Ссылки-то битые получаются.

Таки хочет "убить" ссылки. :)

lameyp 24.01.2011 16:33

Цитата:

Сообщение от Kolyaj (Сообщение 89448)
А чего вы этим хотите добиться? Ссылки-то битые получаются.

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

ksa 24.01.2011 16:35

Цитата:

Сообщение от lameyp
вероятно я не правильно выполняю действия

Точнее не к тем элементам применяешь...

window.onload=function() {
   var o=document.getElementsByTagName('div')
   var i
   for (i=0; i<o.length; i++) {
      if (o[i].className=='r') {
        o[i].innerHTML = o[i].innerHTML.replace(/http:\/\//g, '');
      }
   }
}

lameyp 24.01.2011 16:36

Цитата:

Сообщение от розовый слоник (Сообщение 89459)
вообще то нужно обращаться к элементу
то есть o[i].innerHTML.replace(/http:\/\//g, '');
а вы явно, что то не то делаете.

всё круто..работает когда обращаешься к элементу.)
Спасибо ребят..)нужно будет подучить ту часть где допустил косяк!)

ksa 24.01.2011 16:37

Цитата:

Сообщение от lameyp
К сожалению не получается

Экий ты, батенька... :D


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