我有这样的HTML页面:
<html>
<body>
<div id='something'>
...
<script>
var x = 'hello world';
</script>
...
</div>
</body>
</html>
在另一页上,我正在这样做:
$.ajax({
url: 'example.html',
type: 'GET',
success: function(data) {
$('#mydiv').html($(data).find('#something').html());
alert(x);
}
});
jQuery,但是,没有执行在第一个文件中的javascript,即使文档中说的那样。我该怎么做呢?
编辑:不幸的是,在现实世界中的应用程序中,我无法控制“包含”页面的内容。
我们在同一个域中,但是我不能修改它输出的代码,因为它是打包产品,IT部门不允许我们对其进行修改。
正如Pointy 指出的 ( 双关语 ),当您将HTML传递给时,jQuery会混淆SCRIPT标签$()
。它不会删除它们-
只是将它们添加到HTML生成的DOM集合中。您可以像这样执行脚本:
$.ajax({
url: 'example.html',
type: 'GET',
success: function(data) {
var dom = $(data);
$('#mydiv').html(dom.find('#something').html());
dom.filter('script').each(function(){
$.globalEval(this.text || this.textContent || this.innerHTML || '');
});
}
});
问题内容: 我需要用ajax调用产生的html替换页面中div的内容。问题是html中包含一些必要的脚本,并且jquery html()函数似乎将它们剥离了,我需要过滤响应并仅获取特定的div。 我正在考虑一种解决方法,该方法是从ajax响应中提取所有脚本标签,然后将其附加到DOM中,但是这样做很麻烦。 这是我的代码; 但这是任何结论。我尝试了那里提出的解决方案,但没有一个起作用。 编辑:我似乎找
问题内容: 是否有任何Python库可以让我解析类似于HTML文档的HTML文档? 即我希望能够使用 CSS选择器语法 从文档中获取任意节点集,读取其内容/属性,等等。 我之前使用过的唯一Python HTML解析库是 BeautifulSoup ,尽管很好,但我一直认为如果可以使用jQuery语法,解析起来会更快。:D 问题答案: 如果您能熟练使用BeautifulSoup,则只需将soupse
问题内容: 因为正则表达式使我感到恐惧,所以我试图找到一种方法来删除所有HTML标记并从Python中的字符串解析HTML实体。 问题答案: 使用lxml是最适合python的xml / html库。 如果您只想清理html,请查看lxml.html.clean模块
问题内容: 我从其他页面加载HTML以提取并显示该页面中的数据: 确实可以,但是由于我的浏览器尝试加载在205.html中链接的图像。这些图像在我的域中不存在,因此出现很多404错误。 有没有办法像解析页面一样但不将整个页面加载到浏览器中? 问题答案: 实际上,如果您查看jQuery文档,它说您可以将“所有者文档”作为第二个参数传递给。 因此,我们可以做的是创建一个虚拟文档,以使浏览器不会自动加载
问题内容: 我使用jQuery的.load函数将一些HTML代码加载到div中,其中包含要执行的一些代码; 加载ajax请求后,alert(); 函数起作用,但是someFunction无法起作用。 如何从Ajax调用执行此功能 执行的功能也不起作用。 问题答案: 可能您应该使用jQuery.getScript从服务器加载一些javascript并执行它。 更新: 在大多数情况下,仅加载纯HTML
问题内容: 我想通过jQuery创建脚本标签。 我使用以下代码: 没用 您将如何实现它? 问题答案: 你应该这样做