如何在HTML中查找和替换作为文本保存在变量中的div (或其他标记)?我从ajax获得作为文本响应的HTML:
$.ajax({
url: 'page.pgp',
success: function(result) {
// here I want to find certain HTML tag
// in result variable and replace it with something else
}
});
发布于 2010-09-24 21:14:59
您可以通过使用$()
包装响应,将其转换为存储在jQuery对象中的DOM元素。然后只需使用use .find()
来定位您要查找的内容,然后使用use .replaceWith()
来删除它并替换为新内容。
此示例将替换找到的所有<div>
元素。您可能需要使选择器更具体。
$.ajax({
url: 'page.pgp',
success: function(result) {
var $result = $(result);
$result.find( 'div' ).replaceWith('<span>something else</span>');
$result.appendTo('body');
}
});
请注意,如果您要查找的<div>
位于元素的顶层,则需要改为使用use .filter()
。
本例中插入结果的uses .appendTo()
。
发布于 2010-09-24 21:15:26
将响应包装在jQuery中,并像往常一样遍历它:
$.ajax({
url: 'page.pgp',
success: function(result) {
result = $(result).find('.your-selector').replaceWith('<div></div>').end().html();
}
});
请注意,之后您不需要使用.html()
。
发布于 2010-09-24 21:15:56
如果你的响应返回一个有效的超文本标记语言结构,那么你应该能够把它抛到jQuery工厂函数$(result)中。
$(result).find('div') // do something
https://stackoverflow.com/questions/3787385
复制相似问题