我想从我的html中获取文本并保留正确的格式,就像在浏览器上看起来一样。
我想要这个
CompanyName
CompanyAddress
Company Phone Number
1 Item1 7.00 0% 7.00
2 Item2 5.00 0% 5.00
TOTAL: 2
SUBTOTAL: 12.00
CASH: 12.00
我收到了这个
CompanyName
CompanyAddress
Company Phone Number
1
Item1
7.00
0%
7.00
我的HTML:
<div id="printPreview" class="interprise-popover-container">
<div class="interprise-popover-header popover-header">
<h1 class="title">Print Preview</h1>
<a class="popover-btn left-popover-btn btn-Cancel">Cancel</a>
<a class="popover-btn right-popover-btn btn-Done">Done</a>
</div>
<br class="clearfloat"/>
<div id="printPreviewBody" class="interprise-popover-content">
<div id="print-area">
<div id="print-header">
<h4><%= Company %></h4>
<h6><%= WarehouseAddress %></h6>
<h6><%= WarehouseCity %>, <%= WarehouseState %> <%= WarehousePostalCode %></h6>
<h6><%= PhoneNumber %></h6>
<h6>www.fairysales.com</h6>
<h5 style="margin-top: 5px;"><%= TransactionType %># <%= InvoiceCode %></h5>
</div>
<div id="print-barcode" style="margin:0 auto; "></div>
<span style="font-size: 12px;">Monday</span>
<div>
<table id="print-items" cellspacing="0" width="100%">
<tbody>
<tr>
<td align="right"> 1 </td>
<td align="left"> Item1<br></td>
<td align="right">12.00</td>
<td align="right">0%</td>
<td align="right"><div><abbr>12.00</abbr></div></td>
</tr>
</tbody>
</table>
</div>
<div id="print-total">
</div>
</div>
</div>
按照我使用的方式
$("#print-header").text(); to extract the text from the div
更新:这是jsfiddle
我想要实现的实际上与结果相同,但是以文本格式,所以我可以将它作为字符串从javascript传递给目标c。
答案 0 :(得分:0)
我认为使用$("#print-header").html();
可以解决您的问题。
答案 1 :(得分:0)
由于您的HTML与您所说的内容不一致,以及您所获得的内容,我会认为您不需要条形码,您不需要'星期一',您不需要'交易类型' /'invoice-code',最后没有'www.fairysales.com'
我还假设你想要&lt;%= WarehouseCity%&gt;,&lt;%= WarehouseState%&gt; &lt;%= WarehousePostalCode%&gt;彼此相邻。
但更重要的是:我猜你控制了这个html源代码,因为你在'print-header'中使用了vars。 然后,我同意你还有生成2个表的var:'print-items'和'print-total'吧?
如果你有vars ..并且实际上想要将它们传递给'objective c',那么..你可以控制你用来将这些数据发送到你的目标c应用程序的数据格式,以便进一步完成任务。 / p>
但是,如果您仍然希望将渲染的html文本等效为(单声道)间隔纯文本(例如,在htm-email中向客户发送仅文本回落)作为您的输入目标c,那么你需要更多关于你的数据的想法,比如在旧学校的日子里:在最坏的情况下每个字段会有多少字符?这是您需要附加/前置的空白字符数量(以模拟您的表格右/左对齐)。这并不难。
现在假设你没有访问构建发送到浏览器的html的vars 然后你必须处理一些事情来递归地解析你的html块提取'innerTEXT'/'textContent',它们包含你需要的数据(它也可以查看表格的单元格的对齐方式),然后才能最终得到上述技术(DATAFORMAT /计算/预谋/追加)。
那么......你控制var了吗?
希望这有帮助!
ps:我推荐使用单行间距字体,因为..您还要按照发布“想要的”的方式对齐数据?
ps2:我其实也在想..为什么<div><abbr>12.00</abbr></div>
??
更新:我摆弄你的小提琴并构建了一个完全符合你想要的功能。见jsfiddle.net/8yC5G/3/
函数的返回功能仍然非常脏,可以使用一些优化。也许我会再捣蛋了。注意:在FF中构建和测试,使用'textContent'而不是'innerTEXT'。
UPDATE2: jsfiddle.net/8yC5G/6/:新例程,清理一下,更短,更可靠。自动缩放:P