簡體   English   中英

如何使用javascript刪除html標簽之間的空白?

[英]How to remove white space between html tags using javascript?

我在JavaScript變量中有一些HTML內容:

var string="<tr>  <td> data 1 </td> <td> data 2 </td>   <td> data 3 </td></tr>";

我想只刪除HTML標記之間的空格。 列數據中的空格必須保持相同。

string.replace(/\n/g, "");
string.replace(/[\t ]+\</g, "<");
string.replace(/\>[\t ]+\</g, "><");
string.replace(/\>[\t ]+$/g, ">");

我嘗試了上面的代碼。 但這沒有奏效。 有人請幫我解決這個問題。

string= string.replace(/>\s+</g,'><');

有一個jQuery解決方案:

使用.contents().filter()查找所有僅空白文本節點並刪除()它們,如下所示:

 var $e = $("<tr> <td> data 1 </td> <td> data 2 </td> <td> data 3 </td></tr>"); $e.contents().filter(function() { return this.nodeType = Node.TEXT_NODE && /\\S/.test(this.nodeValue) === false; }).remove(); console.log($e.html()); // <td> data 1 </td><td> data 2 </td><td> data 3 </td> 
 <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js"></script> Check console! 

上面的例子過濾了trtr 但是,也可以檢查后代或做出復雜的決定,例如在內聯元素之間保留空格,但在塊元素之間刪除。

忽略文本節點內的<和>字符:

var string = "<p>lol</p>  <p>let's remove <span>spaces between tags</span> </p>";
var rexp = new RegExp(">[\t\s ]*<", "g");
var result = string.replace(rexp, "><");

js在這里小提琴: http//jsfiddle.net/4cfgnfrx/

用你的例子: http//jsfiddle.net/4cfgnfrx/1/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM