2017-02-21 306 views
0

我有一個函數,可以在javascript中獲取表格的.text()。我將HTML標籤去掉,但是當我將它寫入文本文件時,我剩下一大塊。使用javascript或jquery寫入文本文件時創建一個新行

function removeHtml(html) { 
      var result; 
      var rm = new RegExp("</td>", "g"); 
      result = html.replace(rm, "\n"); 
      result = $(result).find("td").text(); 
      alert(result); 
      return result; 
     } 

我也考慮過拆分這到一個數組,遍歷它,但我覺得我會再次遇到這個問題:

如何寫這個結果文本文件,當我創建一個新的行?添加一個\ n不會在.txt文件中添加一行,只會讓我的函數中的警報(結果)看起來不錯。

編輯:我被告知,我的替換\ n需要在裏面的引號。我做了這個,並添加了一個警報來檢查結果。警報中包含所有新行,但文本文件仍然是一個長字符串。 \ n不再出現在文件中。通過每個TR

function removeHtml(html) { 
    var result; 
    var rm = new RegExp("</td>", "g"); 
    result = html.replace(rm, "\n"); 
    result = $(result).text(); 
    return result; 
} 
+0

顯示的代碼你用來刪除標籤! –

+1

如果需要逐步使用DOM並輸出文本,而不是RegExp對其進行格式化,那麼可能會少得多。 – tadman

+1

['replace()'](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replace)的第二個參數是一個字符串或函數。 –

回答

0

您可以"\n"'\n'只需更換正則表達式

var text = ""; // the accumulator 
 

 
$("tr").each(function() { 
 
    text += $(this).text() + "\n"; // for each tr add the text followed by new line 
 
}); 
 

 
console.log(text);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<table> 
 
    <tr><td>ABC: </td><td>mmm</td></tr> 
 
    <tr><td>Lorem: </td><td>Epsom</td></tr> 
 
    <tr><td>LOL</td><td>MOL</td></tr> 
 
</table>

+0

我試過了,並在我返回結果之前添加了一個警報。該警報看起來不錯,但一旦在文件中它不是一個新行 –

+0

那麼如何將該字符串存儲在文件中?你正在使用哪個操作系統?它支持'',''或''? –

+0

我使用這個:http://jsfiddle.net/TzVd3/918/ –

0

只是循環和積累的結果是這樣的::

+0

這是抓住頁面中的每個標籤,而仍然沒有插入新行 –