[英]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!
上面的例子過濾了tr
子tr
。 但是,也可以檢查后代或做出復雜的決定,例如在內聯元素之間保留空格,但在塊元素之間刪除。
忽略文本節點內的<和>字符:
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.