0

无论如何我可以通过从其他地方(例如从另一个页面或从正文中的某个地方)附加“div #B”来实现以下目标,而不是将其写入该脚本本身并且不会像使用 JQuery 的负载时那样面临相同的来源策略问题?

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

2 回答 2

4

您可以使用它在正文中附加元素的 HTML

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

由于同源策略,这不适用于跨源 iframe。但是您可以使用 AJAX 从另一个页面获取 HTML,只要 URL 位于同一来源即可。

于 2013-10-27T16:55:34.637 回答
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");
于 2013-10-27T17:03:09.963 回答