Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 28.01.2010, 10:50
Новичок на форуме
Отправить личное сообщение для ze8s Посмотреть профиль Найти все сообщения от ze8s
 
Регистрация: 06.07.2009
Сообщений: 8

как изменить содержимое frame из jQuery
Помогите разобратся.
Собственно есть следующий фреймсет
...
<script>
// здесь jQuery
$(document).ready(function(){
$('#a').attr('src',url+'a.html'); // работает
});
</script>

<frameset frameborder="1" rows="*,115,35">
<frame name="a" id = "a" src="">
<frame name="b" id = "b" src="b.html">
<frame name="c" id = "c" src="c.html">
</frameset>
...
в фреймах в каждом *.html есть <div id=text></div> в который и нужно подставлять некий текст.

Как мне обращатся из jQuery к <div id=text> в каком нибудь из этих фреймов?
Пробую $('#b\\.text').html() = 'test string'; , не работает

var $frametmp = $('#b').contents().find("body #text");
$frametmp.html() = "test string"; //не работает...

Последний раз редактировалось ze8s, 28.01.2010 в 11:21.
Ответить с цитированием
  #2 (permalink)  
Старый 28.01.2010, 11:23
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Попробуй так
var frametmp = $("#text");
frametmp.html() = "test string";
Хотя лучше не так, а так
var frametmp = $("#text");
frametmp.html("test string");

Последний раз редактировалось sysya, 28.01.2010 в 11:29. Причина: Исправить
Ответить с цитированием
  #3 (permalink)  
Старый 28.01.2010, 11:38
Новичок на форуме
Отправить личное сообщение для ze8s Посмотреть профиль Найти все сообщения от ze8s
 
Регистрация: 06.07.2009
Сообщений: 8

нет, не работает.
$('#b').contents().find('#text').html() = "test test"; тоже неработает...
Ответить с цитированием
  #4 (permalink)  
Старый 28.01.2010, 14:41
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Кажись с фреймами jquery не работаtт, поискал чучуть в гугле, нашёл тока это
var firstframe=window.parent.frames[0]
- это так выбирается первый фрейм в наборе, то значит придётся тебе без библы писать

Последний раз редактировалось sysya, 28.01.2010 в 15:19. Причина: изменить слегка
Ответить с цитированием
  #5 (permalink)  
Старый 28.01.2010, 15:27
Аватар для sysya
Профессор
Отправить личное сообщение для sysya Посмотреть профиль Найти все сообщения от sysya
 
Регистрация: 27.12.2009
Сообщений: 292

Сообщение от ze8s Посмотреть сообщение
нет, не работает.
$('#b').contents().find('#text').html() = "test test"; тоже неработает...
а вот так будет работать
$('#b').contents().find('#text').html("test test");
Ответить с цитированием
  #6 (permalink)  
Старый 28.01.2010, 15:48
Новичок на форуме
Отправить личное сообщение для ze8s Посмотреть профиль Найти все сообщения от ze8s
 
Регистрация: 06.07.2009
Сообщений: 8

Нет, не работает. Похоже придется без библы.
Ответить с цитированием
  #7 (permalink)  
Старый 31.01.2010, 17:21
Интересующийся
Отправить личное сообщение для j0ker13 Посмотреть профиль Найти все сообщения от j0ker13
 
Регистрация: 16.01.2010
Сообщений: 12

работает с фреймами)

попробуй:
Цитата:
$("#b").ready(function(){
$("#b").contents().find("#text").html("test test");
})
так же попробуй: не объединять их в фреймсет и загружать в ифрейме
Ответить с цитированием
  #8 (permalink)  
Старый 31.01.2010, 22:27
Новичок на форуме
Отправить личное сообщение для ze8s Посмотреть профиль Найти все сообщения от ze8s
 
Регистрация: 06.07.2009
Сообщений: 8

Нет. не работает!
<html>
  <head>
    <script type="text/javascript" src="js/jquery-1.4.min.js"></script>
</head>
<body>
<script>
$(document).ready(function(){ 
	$("#b").ready(function(){
	$("#b").contents().find("#text").html("test test");
	});
});
</script>
<iframe  id = "a" src="a.html"></iframe>
<iframe  id = "b" src="a.html"></iframe>
<iframe  id = "c" src="a.html"></iframe>
</body>
</html>


a.html
<html>
  <head>
  </head>
  <body>
  <div id="text">a</div>
  </body>
 </html>

Последний раз редактировалось ze8s, 31.01.2010 в 22:30.
Ответить с цитированием
  #9 (permalink)  
Старый 31.01.2010, 22:45
Интересующийся
Отправить личное сообщение для j0ker13 Посмотреть профиль Найти все сообщения от j0ker13
 
Регистрация: 16.01.2010
Сообщений: 12

пусть другие попробуют:
<html>
<head>
<title>12345</title>
<script type="text/javascript" src="jquery.min.js"></script>
<iframe src="/test.html" id="fr"></iframe>
<script>
$("#fr").ready(function(){
	alert($("#fr").contents().find("#tt").html());
$("#fr").contents().find("#tt").html("12345678");
})
</script>
</body>
</html>

test.html=>
<html>
<title>12345</title>
<body></body>
<head><div id="tt">testest</div></head>
</html>

jQuery JavaScript Library v1.3.2
у меня алерт выскакивает и текст меняется)

add:
в фф работает. в опере нет(

Последний раз редактировалось j0ker13, 31.01.2010 в 22:51.
Ответить с цитированием
  #10 (permalink)  
Старый 08.03.2015, 19:20
Аватар для dd_smol
Кандидат Javascript-наук
Отправить личное сообщение для dd_smol Посмотреть профиль Найти все сообщения от dd_smol
 
Регистрация: 08.03.2015
Сообщений: 131

Конечно автору поста это уже не поможет. Но Гугл этот топик выдает в первых строках поиска и возможно кому будит полезно. jQuery функции по мимо селектора можно вторым параметром передать контекст исполнения (То есть в данном случае объект документа нужного фрейма). Выглядеть будит это примерно так.
$('#text', window.frames['d'].document).text('Test string');

Если требуется в каждом фрейме добавлять текст то нужно перебрать фреймы в цикле.
var
	arrFrames = [].slice.call(window.frames),
	frame = null;
	
while ( frame = arrFrames.shift() ) {
    $('#text', frame.document).text('Test string');
}

Последний раз редактировалось dd_smol, 08.03.2015 в 19:25.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
jquery - Как получить полный путь? kirill.adw jQuery 5 20.11.2009 17:40
Как можно изменить URL в адресной строке браузера? балерун Events/DOM/Window 12 17.11.2009 13:08
Как отключить submit формы в jQuery? khusamov Общие вопросы Javascript 2 08.07.2009 00:54
Как правильно подгрузить jQuery Siton jQuery 4 15.06.2009 09:54
Обработчик события: как делает jquery? Shasoft jQuery 35 22.04.2009 09:41