Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/460.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 从html获取文本,包括格式_Javascript_Jquery - Fatal编程技术网

Javascript 从html获取文本,包括格式

Javascript 从html获取文本,包括格式,javascript,jquery,Javascript,Jquery,我希望从我的html中获取文本,并保留正确的格式,就像它在浏览器上的外观一样 我想要这个 CompanyName CompanyAddress Company Phone Number 1 Item1 7.00 0% 7.00 2 Item2 5.00 0% 5.00 TOTAL: 2

我希望从我的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 %>#&nbsp;<%= 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>
更新:这里是jsfiddle

我想要实现的实际上与结果相同,但是是文本格式,因此我可以将其作为字符串从javascript传递到objective c

我认为使用
$(“#打印头”).html()应该可以解决您的问题


请参阅和。

由于您的html与您声明的内容以及您从何处获得的内容不一致,我假设您不需要条形码,不需要“星期一”,不需要“交易类型”/“发票代码”,最后不需要“www.fairysales.com”
我还假设你们想要,挨着彼此

但更重要的是:我猜您控制这个html源代码及其生成,因为您在“打印头”中使用了变量。
然后我假设您也有生成两个表的var:“打印项目”和“打印总计”对吗

好吧,如果你有VAR。。实际上是想把它们传给“目标c”,然后。。您可以控制用于将此数据发送到objective c应用程序以执行进一步任务的数据格式

但是,如果您仍然希望将呈现的html文本等效为(单)间距的纯文本(例如,仅在发送给客户的htm电子邮件中返回的文本),作为目标c的输入,然后,您需要更多地考虑您的数据,如在旧的学校日的:在最坏的情况下,每个字段将有多少字符?这是您随后需要追加/前置的空白字符数(以模拟表中的右/左对齐)。这并不难

现在假设您没有权限访问构建发送到浏览器的html的变量。
然后,在使用上述技术(dataformat/calculation/prepending/appending)结束之前,您必须进行递归分析,以获取包含所需数据的“innerTEXT”/“textContent”(它还可以查看表格单元格的对齐方式)

所以。。你控制风险值吗

希望这有帮助

ps:我建议使用单间距字体,因为。。您还打算如何按照发布“您想要什么”的方式调整数据?
我其实也在想。。为什么

函数的返回函数仍然很脏,需要进行一些优化。也许我会再弄一些。注意:在FF中构建和测试,使用“textContent”而不是“innerTEXT”


更新2::新的例行程序,清理了一点,更短,更可靠。自动缩放:P

是的,我也尝试过。但是不管怎样,那张表呢?我希望它能像我想要的那样打印出来(上面的代码),但是我没有得到它。有什么想法吗?你也可以试试
$(“#打印头”)[0]。innerHTML
。。。我不明白为什么你所做的不管用。你建议的两个都管用。但我现在关心的是桌面部分。我如何从中获取文本,但保留格式?返回的具体内容是什么?我在上面返回的框中看到的只是文本本身。告诉我当你调用任何一个解决方案时得到的HTML?我更新了JSFIDLE。使用$(“#打印区域”)[0]。您建议的innerHTML我不清楚您在问什么。如果您想保留HTML格式,为什么不使用
.HTML()
?但我只需要文本。看,我从javascript中获取文本,然后通过phonegap插件将其传递给objective c,该文本将被传递到我的打印sdk进行打印。顺便说一下,我正在做收据。
$("#print-header").text(); to extract the text from the div