Подскажите как удалить iframe с заменой на div
Всем привет,
подскажите как удалить все <iframe> на странице, если атрибут "src" содержит в ссылке определенное слово например "google" и заменить его на <div> |
Можешь попробовать вот так
<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>
Только протестируй хорошенько. Вариант хреновый, конечно, перерисовывается вся страница, но для однократных вызовов пойдет, если заработает. И жди, что настоящие спецы ниже подскажут:), а я нуб, прислушиваться не стоит:) |
(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]);
}
}
})();
|
Цитата:
Поиск по google: document.querySelectorAll('iframe[src*="google"]') |
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]);
}
}
})();
|
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>
|
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>
|
Цитата:
Пробовала так div.className( 'class_1 class_2' ) и так div.addClass( 'class_1 class_2' ) что-то не получается... |
Цитата:
|
$(function() {
........................ }); Я вот так пробовала :) |
| Часовой пояс GMT +3, время: 02:08. |