我有一个运行良好的AJAX。但是在将AJAX响应附加到我的页面之前,我需要完全删除某个HTML元素。
我的AJAX代码如下所示:
$.ajax({
url: 'http://url-to-the-site.com',
dataType: 'json',
type: 'GET',
data: {},
success: function(data){
for( x in data ){
var articles = data[x].html;
console.log(articles);
$(".appender").before(articles);
}
},
error: function(data){
console.log(data);
}
});
因此,变量articles
有一个名为<footer>
的元素/标记。
我需要在附加articles
。
我在我的AJAX中尝试了这个,但我知道这是错误的:
$(articles).find('footer').remove();
有人可以就此提出建议吗?
提前致谢。
答案 0 :(得分:1)
我对jQuery了解不多,但我可以尝试用纯JavaScript解决它。
我尝试使用正则表达式从文章字符串中删除页脚。
以下是我的尝试:
var example = "<article><p>Foo Bar</p><footer>Foo Bar</footer></article>";
var formatted = example.replace(/<footer>.*<\/footer>/, "");
console.log(formatted);
输出:
<article><p>Foo Bar</p></article>
在将代码添加到DOM之前,将上面的代码放在循环中。
示例:
$.ajax({
url: 'http://url-to-the-site.com',
dataType: 'json',
type: 'GET',
data: {},
success: function(data){
for( x in data ){
var articles = data[x].html;
$(".appender").before(articles.replace(/<footer>.*<\/footer>/, ""));
}
},
error: function(data){
console.log(data);
}
});
[更新]
为了迎合换行和其他角色:
var formatted = example.replace(/<footer.*>(.|[\n\r])*<\/footer>/, "");