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
データのテキストを取得しながらマークアップを維持する方法はありますか? 助けてくれてどうもありがとう!