装载机
$( "#b" ).load( "thepage.html #target" );
<div id="b"></div>
thepage.html
<div id="target">
<script>
alert('the page');
</script>
hi world
</div>
我需要从jquery函数加载'thepage.html'时显示警告
答案 0 :(得分:0)
如果你有这个:
$( "#b" ).load( "thepage.html #target" );
<div id="b"></div>
你想要JS执行,你需要像 #target
那样:
<div id="target">
<script>
alert('the page');
</script>
hi world
</div>
击> <击> 撞击>
修改强>
来自JQuery API:
如果使用附加到URL的选择器表达式调用
.load()
, 但是,在更新DOM之前删除了脚本, 因此不会被执行。两种情况的例子如下所示:这里,作为文档一部分加载到#a的任何JavaScript都将 成功执行。
$( "#a" ).load( "article.html" );
但是,在以下情况中,文档中的脚本块为 加载到#b中被删除而不执行:
$( "#b" ).load( "article.html #target" );
加载完成后,您必须执行JS。由于安全问题,您无法从页面加载脚本。
可以试试这个:
<div id="target">
Hello World.
<div style="display: none;" id="alertMessage">The Page</div>
</div>
然后执行如下:
$("#b").load("thepage.html #target", function(r, s, x){
if(s != "error"){
alert($("#alertMessage").text());
}
});