解析包含表格行的 HTML 片段
23
0
我从服务器返回了以下响应。这是一个 html 片段。我想用 DOMParser 解析它,如下所示:let responseText = '
文本内容
我从服务器返回了以下响应。这是一个 html 片段。我想使用 DOMParser 对其进行解析,如下所示:
let responseText = '<div>Text Content</div><tr><td>Cell</td></tr>';
let doc = new DOMParser().parseFromString(`<body><template>${responseText}</template></body>`, 'text/html');
let fragment = doc.body.firstChild.content;
这里 fragment
运行时的变量包含以下 DOM:
#document-fragment
<div>Text Content</div>
Cell
我的问题: 我期望它包含 <tr>
,但它没有。如何更改解析代码以使其正确包含元素?
我不被允许更改回复文本。
解析包含表格行的 HTML 片段
下载声明: 本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!
下载声明: 本站所有软件和资料均为软件作者提供或网友推荐发布而来,仅供学习和研究使用,不得用于任何商业用途。如本站不慎侵犯你的版权请联系我,我将及时处理,并撤下相关内容!
收藏的用户(0)
X
正在加载信息~
-
引用 3楼
元素
<tr>
只是<table>
,<thead>
,<tbody>
或<tfoot>
。有关更多信息,请参阅下面 MDN 摘录。尝试将其包装
<tr>
在 a 中<table>
并使用createContextualFragment
。let responseText = '<div>Text Content</div><tr><td>Cell</td></tr>'; responseText = responseText .replace(/<tr>/, '<table>$0') .replace(/<\/tr>/, '$0</table>'); const fragment = document.createRange().createContextualFragment(responseText); const cellContent = fragment.querySelector('td').innerText; console.log(cellContent); // Cell
.as-console-wrapper { top: 0; max-height: 100% !important; }
看:
MDN ~
: 表格行元素 ~ 技术摘要 允许的父元素
<table>
(仅当表没有子<tbody>
元素时,并且即使这样也只能在任何<caption>
,<colgroup>
、 和<thead>
元素之后);否则,父元素必须是<thead>
,<tbody>
或<tfoot>
TAG
作者最近主题: