我如何能够在HTML中找到并替换以变量中的文本形式保存的div(或其他标签)?我从HTML获取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
}
});
答案 0 :(得分:4)
您可以将HTML响应转换为存储在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()
示例。
答案 1 :(得分:0)
在jQuery中包装响应并像往常一样遍历它:
$.ajax({
url: 'page.pgp',
success: function(result) {
result = $(result).find('.your-selector').replaceWith('<div></div>').end().html();
}
});
请注意,之后您无需使用.html()
。
答案 2 :(得分:0)
如果您的响应返回了有效的HTML结构,那么您应该能够将其放入jQuery工厂函数$(result)。
$(result).find('div') // do something