我需要用ajax调用产生的html替换页面中div的内容。问题是html中包含一些必要的脚本,并且jquery
html()函数似乎将它们剥离了,我需要过滤响应并仅获取特定的div。
我正在考虑一种解决方法,该方法是从ajax响应中提取所有脚本标签,然后将其附加到DOM中,但是这样做很麻烦。
这是我的代码;
$('a.link-vote').live('click',function(){
var idfeedback = $(this).attr('id').split('-')[1];
var href = $(this).attr('href');
$('.feedback-' + idfeedback + '-loader').show();
$.ajax({
type: "POST",
url: href,
success: function(response){
var x = $(response).find('#feedback-'+ idfeedback).html();
$('.feedback-' + idfeedback + '-loader').hide();
$('#feedback-'+ idfeedback).html(x);
}
});
return false;
});
但这是任何结论。我尝试了那里提出的解决方案,但没有一个起作用。
编辑:我似乎找到了一个基于该旧主题的解决方法,但它并不漂亮。
var dom = $(response);
// var x = $(response).find('#feedback-'+ idfeedback).html();
$('.feedback-' + idfeedback + '-loader').hide();
//$('#feedback-'+ idfeedback).html(x);
$('#feedback-'+ idfeedback).html(dom.find('#feedback-'+ idfeedback).html());
dom.filter('script').each(function(){
var obj = $(this);
$('#feedback-'+ idfeedback + ' .feedback-comments').append(obj);
});
必须有一个简单的方法。
编辑:我累了,没有思考。您可以使用本机innerHTML
方法来代替.html()
:
$('#feedback-' + idfeedback)[0].innerHTML = x;
原始答案:
我的直觉是,您链接的答案对您不起作用,因为所包含的脚本是使用src
属性而不是<script>
and
</script>
标记之间的脚本内容来调用的。这可能起作用:
$.ajax({
url: 'example.html',
type: 'GET',
success: function(data) {
var dom = $(data);
dom.filter('script').each(function(){
if(this.src) {
var script = document.createElement('script'), i, attrName, attrValue, attrs = this.attributes;
for(i = 0; i < attrs.length; i++) {
attrName = attrs[i].name;
attrValue = attrs[i].value;
script[attrName] = attrValue;
}
document.body.appendChild(script);
} else {
$.globalEval(this.text || this.textContent || this.innerHTML || '');
}
});
$('#mydiv').html(dom.find('#something').html());
}
});
请注意,此产品尚未经过任何测试,可能会吞噬婴儿。
问题内容: 是否存在现有的Java库,该库提供了一种从字符串中剥离所有HTML标记的方法?我正在寻找与PHP中的功能等效的东西。 我知道我可以使用这个问题中描述的正则表达式,但是我很好奇,是否可能已经有一种方法可以在Apache Commons库中的某个地方使用。 问题答案: 在开放了将近一个星期的问题之后,我可以肯定地说,Java API或Apache库中没有可用的方法可从字符串中剥离HTML标
我试图使用PDFBox从pdf文件中提取带有坐标的文本。 我混合了一些在互联网上找到的方法/信息(stackoverflow也是),但是我有坐标的问题似乎是不对的。例如,当我试图使用坐标在tex上画一个矩形时,矩形被画在了其他地方。 这是我的代码(请不要判断风格,写得很快只是为了测试) TextLine.java myStripper.java 单击AWT按钮上的事件 有什么建议吗?我做错了什么?
我知道我可以在CKEditor配置文件中添加异常来允许某些HTML标记,但我希望有一种更简单的方法来实现这一点 基本上,我只需要一个简单的方法,以文字标题图像。有没有办法用CKEditor不会删除的东西复制 和 的功能?
问题内容: 我有这个HTML输入: 我想使用正则表达式删除HTML标记,以便输出为: 谁能建议使用正则表达式执行此操作? 问题答案: 您可以使用称为Jericho Html解析器的HTML解析器。 您可以从这里下载-http://jericho.htmlparser.net/docs/index.html Jericho HTML Parser是一个Java库,允许对HTML文档的各个部分(包括服
我在wordpress中编写了一个php页面,它应该从数据库中获取一些信息并显示到页面上。我正在尝试添加直接从页面更新信息的功能,似乎有什么东西正在剥离我的第一个表单标记,但其他的没有。有没有人见过这样的事情,或者知道可能发生的事情? 这里是PHP 第一次通过循环得到的html如下: 注意表单标记是如何丢失的。通过循环的另外两次传递,这是到页面的HTML输出: 在那里,您将注意到表单标记已正确应用
问题内容: 如何从字符串中删除HTML标签,以便可以输出纯文本? 问题答案: 嗯,我尝试了您的功能,并在一个小例子上工作了: 你能举一个例子吗? Swift 4和5版本: