您可以在将GET ajax请求附加到页面内容之前编辑它的内容吗?
我正在获取新html页面正文的内容,并希望添加一些类:)。
这可能是不可能的,
谢谢你的帮助!
答案 0 :(得分:1)
这绝对不是不可能的。你只需要一种方法来解析它。最简单的方法实际上是将它附加到隐藏容器中的页面,然后执行您需要的任何DOM操作。然后你可以重新定位html或显示它,如果它在正确的位置。
如果您正在使用jQuery,您实际上可以对您获取的html字符串执行任何jQuery操作。但是,在某些旧版浏览器中,这种性能相当差。
答案 1 :(得分:0)
如果您使用的是jQuery,可以尝试以下操作(注意它可能非常耗费资源,具体取决于您加载的页面大小):
$.ajax({
/*parameters here*/
success: function(data,textStatus){
processData(data);
}
});
function processData(data){
//this line creates jQuery object that contains DOM model for loaded page
var page = jQuery(data);
page.find('#id-of-element-to-add-some-class').addClass('*your class*');
page.find('#table').addClass('myTable'); //adds class myTable to all tables in the document
//placeholder for loaded page content. Could be something like $('#placeholder')
var target_element = document;
$(target_element ).append(page);
}
有关详细信息,请参阅jQuery.ajax
答案 2 :(得分:0)
没有jquery的方法是使用document.createDocumentFragment
ajax({ //Your preferred method
done: function(response){
var myDom = document.createDocumentFragment();
myDom.innerHTML = response.responseText;
// your manipulations same as you would with "document"
document.appendChild(myDom);
}
});
资源: