2013-07-05 46 views
0

(我是新的,请耐心等待。)我有一个jquery对象,我需要转换回html使用。我正在做的是使用jQuery的get来获取本地文件的HTML DOM。返回的数据然后被做成一个对象,然后我对它进行一些调整(如更改hrefs等)需要帮助把一个jQuery对象转换回字符串

 
    $.get(imagePath + "bloghome.aspx", function (data) { 
     var pageHtml = $(data); 
     pageHtml.find('a').each(function() { 
      var longHref = $(this).attr('href'); 
      var tmp = longHref.lastIndexOf('ID='); 
      var id = longHref.substring(tmp + 3) + '.htm'; 
      var newHref = imagePath.concat(id); 
      $(this).attr('href', newHref); 
     }); 
    }); 

该对象在第二行创建,然后我更改hrefs。我现在需要的是将该对象转换回字符串,以便我可以将它写入文件。

我使用的PhoneGap但任何帮助,将不胜感激,因为我很为难

回答

3

你可以使用pageHtml[0].outerHTML这样:

$.get(imagePath + "bloghome.aspx", function (data) { 
     var pageHtml = $(data); 
     pageHtml.find('a').each(function() { 
      var longHref = $(this).attr('href'); 
      var tmp = longHref.lastIndexOf('ID='); 
      var id = longHref.substring(tmp + 3) + '.htm'; 
      var newHref = imagePath.concat(id); 
      $(this).attr('href', newHref); 
      var htmlString = pageHtml[0].outerHTML; //<-- Here 
     }); 
    }); 
1

你可以做

pageHtml.html(); 

编辑:使用这个只会给你的主包装元素里面的内容,如果你想整个事情,你可以使用:

pageHtml[0].outerHTML; 

代替。

+1

'的.html()'不包括顶层元素。 – Barmar

+0

好点,我修改了我的答案。 – Lochemage

+0

对不起,我没有注意到你的答案。在那里,我有+1它 – Lochemage