使用jquery将html表转换为字符串[重复]

Posted

技术标签:

【中文标题】使用jquery将html表转换为字符串[重复]【英文标题】:Converting html table to string using jquery [duplicate] 【发布时间】:2013-05-27 16:26:36 【问题描述】:

我在一个字符串中有一些 html,我需要从中提取一个表格。因此,例如,我的 htmlString 变量包含 (:

<html><head>....some head stuff</head><body><table>.... some table stuff</table>.... other body stuff</body></html>

所以,我尝试过的是: (打字,没有复制,所以可能有错别字)

var table = $( '' ).append( htmlString ).find( 'table' ).get();

如果我查看我的表变量,我确实看到了:

[<table>...</table>]

所以,我相信我正确地从 html 字符串中提取了表格。

现在,要将其转换回字符串,我执行以下操作:

var tableString = $( table[0] ).html();

我回来了:

<tbody> ... the table stuff ... </tbody>

但是,我想要的是:

<table> ... the table stuff ... </table>

我该怎么做?

【问题讨论】:

【参考方案1】:

jQuery 没有简单的方法来获取元素的“outerHTML”。而不是

var tableString = $( table[0] ).html();

你可以的

var tableString = $(table[0]).clone().wrap('<div>').parent().html();

或者,如果您不担心与真正旧的浏览器的兼容性:

var tableString = $(table[0])[0].outerHTML;

【讨论】:

我相信这里还有其他很好的答案,但这是我使用的。【参考方案2】:

你可以试试这个-

$( table[0] )[0].outerHTML
https://developer.mozilla.org/en-US/docs/Web/API/element.outerHTML

【讨论】:

【参考方案3】:

javascript 版本:http://jsfiddle.net/Zahmu/

var html = "<div><table><tbody></tbody></table></div>";

var wrapper = document.createElement("div");
wrapper.innerHTML = html;

var table = wrapper.getElementsByTagName("table")[0];
alert(table.outerHTML);

在这种情况下,jQuery 并没有给你太多。您可能会受益于使用它来定位具有更复杂源字符串的表格元素,但解决方案的关键是outerHTML

【讨论】:

以上是关于使用jquery将html表转换为字符串[重复]的主要内容,如果未能解决你的问题,请参考以下文章

使用 js 或 jQuery 强制空格从 HTML 输入字段转换为 %20 [重复]

使用 JavaScript 将 HTML DOM 结构(或克隆)转换为 JSON,可能的 JQuery [重复]

jquery将HTML代码转换为纯文本[重复]

REST API - 使用JQUERY将JSON数据转换为HTML表

如何将 HTML 表转换为 jQuery 键值对数组?

PHP:如何将 ASCII 转换为 HTML 或如何解码字符串