我正在尝试提取用户input
html数据并将其存储在object
或array
html
的来源可能如下
begin <em>texts</em>
description texts here
<table>
<tr><td>cell 1<td><td>cell2</td></tr>
<tr><td>cell 3<td><td>cel4</td></tr>
</table>
<em>second<em> part texts
<table>
<tr><td>cell 5<td><td>cell6</td></tr>
<tr><td>cell 7<td><td>cel8</td></tr>
</table>
我需要能够存储以下内容。
表格外的所有文本和表格中的单元格数据。 他们需要整洁。
我试过了
var data = [];
sourceHtml.contents().each(function(){
if($(this).is('table')){
var table = $(this)
var rows = 'rows:' + $('tr', table).length;
var column ='column:' + $('td', table).length / $('tr', table).length;
//i need to get the table columns and rows counts
data.push(rows)
data.push(column)
table.find('td').each(function(){
data.push($(this).text().trim());
})
}else{
data.push($(this).text().trim());
}
})
上述内容只会向我提供sourceHtml
中的所有文字,但会丢失markup
的所有文字。在获取我的数据文本时,是否仍然保留html
标记?非常感谢你的帮助!
答案 0 :(得分:1)
而不是$(this).text().trim()
使用$(this).html()
希望这有帮助
答案 1 :(得分:1)
使用.html()
代替.text()
来获取元素的HTML标记内容,而不是文本节点内容。