2013-10-27 5 views
0

Есть ли в любом случае я могу достичь следующего, добавив «div #B» из другого места, например, с другой страницы или из какого-то места в теле, вместо того, чтобы писать его внутри этого скрипта и не сталкиваться с тем же проблемы с политикой происхождения, например, при использовании загрузки JQuery?Как добавить div с помощью jquery

$('#A').append("<div id='B'><span><img src='i1.png'></span></div>"); 
+0

нет, вы не можете. – Lachezar

ответ

3

Вы можете использовать это, чтобы добавить HTML такой элемент в вашем теле

$('#A').append($('#someelement').html()); 

Это не будет работать с перекрестными происхождения фреймов из-за одного источника политики. Но вы можете получить HTML с другой страницы с помощью AJAX, если URL-адрес совпадает с исходным кодом.

+0

downvote, если iFrame находится в одном домене, jquery может получить iFrame HTML, если вы не знаете, как это сделать, не вводите в заблуждение ответ –

+0

@fareednamrouti спасибо, я обновил ответ, чтобы исправить это. – TrungDQ

0

Извините, но если вы хотите добавить div, вы должны указать его содержимое и стили.

Если вы хотите, чтобы извлечь его из DIV на странице этого:

var loadAble = $('#YourDivName').html(); 
$('#A').append("<div class="B"></div>"); 
$('#A .B').html(loadAble); 

Не забудьте заменить соответственно YourDivName!

Я знаю, что вы сказали, не использовать .load(), но здесь идет так или иначе:

$('#A').append("<div class="B"></div>"); 
$('#A .B').load("yourFileGoesHere.html#YourDivName"); 

Альтернативным (непроверенные), чтобы написать:

var B = $('#A').append("<div class="B"></div>"); 
B.load("yourFileGoesHere.html#YourDivName"); 
Смежные вопросы