在显示之前替换jQuery ajax调用中的返回数据

时间:2012-11-09 16:15:38

标签: jquery html ajax parsing replace

应该很简单,但我会在这个问题上疯狂。基本上我要做的是在页面上显示之前从返回的HTML数据中替换一些标签。例如:

$.ajax({
    url: url,
    cache: false,
    type: 'GET',
    success: function(data) {
        // Here i need to replace href in ALL <a> tags and add the onclick attrib with the contents from the href 
        $('#floaty-dialog').html(modifieddata);
    }
});

如何预处理HTML数据并用#替换所有href属性并将onclick属性添加到相同的链接?

1 个答案:

答案 0 :(得分:0)

我会使用浏览器的HTML解析器为我做的工作:

var dom = $(data);
dom.find("a").each(function() {
  var href = this.href;
  $(this).click(function(e) {
    e.preventDefault();
    alert(href);
  });
}).attr("href", "#");

$('#floaty-dialog').html(dom);