Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 16.10.2014, 01:56
Интересующийся
Отправить личное сообщение для tyshka Посмотреть профиль Найти все сообщения от tyshka
 
Регистрация: 16.10.2014
Сообщений: 16

Подскажите как удалить iframe с заменой на div
Всем привет,
подскажите как удалить все <iframe> на странице, если атрибут "src" содержит в ссылке определенное слово например "google" и заменить его на <div>
Ответить с цитированием
  #2 (permalink)  
Старый 16.10.2014, 04:45
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Можешь попробовать вот так
<html>
<head>
</head>
    <body>

<iframe src="https://google.ru" num=1></iframe> <iframe src="google" num=2></iframe>
<iframe src="http://javascript.ru"></iframe>
<iframe src="https://google.com" num=3></iframe>
<div><iframe src="https://google.net" num=4></iframe></div>
<iframe src="HTTPS://GOOGLE.INFO" num=5></iframe>


<script>
(function(){
var text=document.body.innerHTML
var re=/<iframe[^>]+google[^>]+>[^>]*<\/iframe>/gi
text=text.replace(re, "<div>text here</div>")
document.body.innerHTML=text
})()
</script>
    </body>
</html>

Только протестируй хорошенько. Вариант хреновый, конечно, перерисовывается вся страница, но для однократных вызовов пойдет, если заработает. И жди, что настоящие спецы ниже подскажут, а я нуб, прислушиваться не стоит

Последний раз редактировалось terminator-101, 16.10.2014 в 06:19.
Ответить с цитированием
  #3 (permalink)  
Старый 16.10.2014, 05:20
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

(function() {
    var frames = window.frames;
    if(frames[0]) {
        var div = document.createElement('div'), i;
        div.innerHTML = 'Содержимое дива';
        for(i=0; i<frames.length; i++) {
            frames[i].parentNode.replaceChild(div, frames[i]);
        }
    }
})();
Ответить с цитированием
  #4 (permalink)  
Старый 16.10.2014, 05:29
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Сообщение от Ruslan_xDD
window.frames
Это ж вроде коллекция объектов типа Window, не?

Поиск по google: document.querySelectorAll('iframe[src*="google"]')
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #5 (permalink)  
Старый 16.10.2014, 05:32
Аватар для ruslan_mart
Профессор
Отправить личное сообщение для ruslan_mart Посмотреть профиль Найти все сообщения от ruslan_mart
 
Регистрация: 30.04.2012
Сообщений: 3,018

danik.js, блин, что-то я не так походу вник.

(function() {
    var frames = document.querySelectorAll('iframe[src*="google"]');
    if(frames[0]) {
        var div = document.createElement('div'), i;
        div.innerHTML = 'Содержимое дива';
        for(i=0; i<frames.length; i++) {
            frames[i].parentNode.replaceChild(div, frames[i]);
        }
    }
})();
Ответить с цитированием
  #6 (permalink)  
Старый 16.10.2014, 05:48
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Ruslan_xDD,
Я типа того тоже пробовал, че-то не работает
<html>
<head>
</head>
    <body>
<iframe src="https://google.ru" num=1></iframe> <iframe src="google" num=2></iframe>
<iframe src="http://javascript.ru"></iframe>
<iframe src="https://google.com" num=3></iframe>
<div><iframe src="https://google.net" num=4></iframe></div>
<iframe src="HTTPS://GOOGLE.INFO" num=5></iframe>
 
<script>
(function() {
    var frames = document.querySelectorAll('iframe[src*="google"]');
    if(frames[0]) {
        var div = document.createElement('div'), i;
        div.innerHTML = 'Содержимое дива';
        for(i=0; i<frames.length; i++) {
            frames[i].parentNode.replaceChild(div, frames[i]);
        }
    }
})();
</script>
    </body>
</html>
Ответить с цитированием
  #7 (permalink)  
Старый 16.10.2014, 06:01
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Ruslan_xDD, и даже по точным совпадениям не работает
<html>
<head>
</head>
    <body>
<iframe src="google" num=1></iframe> <iframe src="google" num=2></iframe>
<iframe src="http://javascript.ru"></iframe>
<iframe src="google" num=3></iframe>
<div><iframe src="google" num=4></iframe></div>
<iframe src="GOOGLE" num=5></iframe>
 
<script>
(function() {
    var frames = document.querySelectorAll('iframe[src*="google"]');
    if(frames[0]) {
        var div = document.createElement('div'), i;
        div.innerHTML = 'Содержимое дива';
        for(i=0; i<frames.length; i++) {
            frames[i].parentNode.replaceChild(div, frames[i]);
        }
    }
})();
</script>
    </body>
</html>
Ответить с цитированием
  #8 (permalink)  
Старый 16.10.2014, 07:03
Интересующийся
Отправить личное сообщение для tyshka Посмотреть профиль Найти все сообщения от tyshka
 
Регистрация: 16.10.2014
Сообщений: 16

Сообщение от Ruslan_xDD Посмотреть сообщение
danik.js, блин, что-то я не так походу вник.

(function() {
    var frames = document.querySelectorAll('iframe[src*="google"]');
    if(frames[0]) {
        var div = document.createElement('div'), i;
        div.innerHTML = 'Содержимое дива';
        for(i=0; i<frames.length; i++) {
            frames[i].parentNode.replaceChild(div, frames[i]);
        }
    }
})();
Спасибо, работает! А как добавить несколько классов этому div?

Пробовала так div.className( 'class_1 class_2' ) и так div.addClass( 'class_1 class_2' ) что-то не получается...
Ответить с цитированием
  #9 (permalink)  
Старый 16.10.2014, 07:27
Кандидат Javascript-наук
Посмотреть профиль Найти все сообщения от terminator-101
 
Регистрация: 14.10.2014
Сообщений: 117

Сообщение от tyshka
Спасибо, работает!
Что то я не пойму, почему у Вас работает а у меня нет? Пробовал в и опере и хроме и в ff, нигде не пашет

Последний раз редактировалось terminator-101, 16.10.2014 в 07:32.
Ответить с цитированием
  #10 (permalink)  
Старый 16.10.2014, 07:33
Интересующийся
Отправить личное сообщение для tyshka Посмотреть профиль Найти все сообщения от tyshka
 
Регистрация: 16.10.2014
Сообщений: 16

$(function() {
........................
});

Я вот так пробовала
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно обновить div из БД в MVC??? espltd AJAX и COMET 2 11.04.2014 01:28
Как вы относитесь к наркоманам? Maxmaxmaximus7 Оффтопик 7 05.02.2014 13:29
iframe как правильно динамически встаить с помощью js syegorius Events/DOM/Window 7 05.01.2012 10:24
Как менять div на div d4a1 Общие вопросы Javascript 6 09.12.2011 17:04
Как можно удалить динамически созданный элемент Арсений Элементы интерфейса 18 08.07.2010 12:56