0

我正在尝试提取用户inputhtml 数据并将它们存储在objectorarray

的来源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在获取我的数据文本时是否有维护标记?非常感谢你的帮忙!

4

2 回答 2

1

而不是$(this).text().trim()使用$(this).html()

希望这可以帮助

于 2013-07-19T20:09:40.957 回答
1

使用.html()而不是.text()获取元素的 HTML 标记内容而不是文本节点内容。

http://api.jquery.com/html/

于 2013-07-19T20:10:02.427 回答