2013-07-23 62 views
0

我有一個Javascript變量。變量如下給出如何使用Javascript刪除html標籤中的不需要的空格?

var str = '< table class = "buy_selection" > 
<tbody> 
<tr> 
<th> size </th > 
<td> 
< select id = "Specification_select" name = "Specification" > 
< option value = "014 black/white" > 014 black/white </option > 
< option value = "100 white/v red" > 100/v red white </option > 
< option value = "101 white/black" > 101 white/black </option > 
< option value = "102 white/white" > 102/white </option > 
</select > 
</Td > 
</tr > 
<tr> 
<th> color </th > 
<td> 
< select id = "Specification_select" name = "Specification" > 
< option value = "23.0" > 23.0 </option > 
< option value = "23.5" > 23.5 </option > 
< option value = "24.0" > 24.0 </option > 24.5 
< option value = "24.5" > </option > 
< option value = "25.0" > 25.0 </option > 
< option value = "25.5" > 25.5 </option > 
< option value = "26.0" > 26.0 </option > 
< option value = "26.5" > 26. 5 </option > 
< option value = "27.0" > 27.0 </option > 
< option value = "27.5" > 27.5 </option > 
< option value = "28.0" > 28.0 </option > 
< option value = "28.5" > 28.5 </option > 
< option value = "29.0" > 29.0 </option > 
< option value = "30.0" > 30.0 </option > 
< option value = "30.5" > 30.5 </option > 
< option value = "31.0" > 31.0 </option > 
</select > 
</td > 
</tr > write <tr> 
<th> reviews 10 0 Yen discount </th > 
<td> 
< select id = "Specification_select" name = "Specification" >, 
< option value = "review to write" > write reviews </option > 
< option value = "write a review [100-yen discount]" > [100-yen discount] write a review </option > 
</select > 
</td > 
</tr > 
</tbody > '; 

我需要格式化這個表,並使用Javascript或jQuery分配到一個div。

我已經試過trim()html_entity_decode,但沒有刪除任何不需要的空格。

< table class = "buy_selection" > 

我該如何格式化變量。請指教。

+0

如果數據按原樣提供給您,那麼您始終可以使用一個好的文本編輯器來清理它,而不是從代碼中清除它。 – techfoobar

回答

1

我在這個有點不好,但是這應該這樣做

str = str.replace(/< /g, '<').replace(/<\/ /g, '</').replace(/ >/g, '>').replace(/\/ /g, '/') 

FIDDLE

+0

謝謝@Spokey。這是行之有效的 –

+0

此代碼將不會工作的文本與多個空格後的「<」至少它不工作在你的小提琴當我在第一個「<」 – ElLocoCocoLoco

+0

@ElLocoCocoLoco後添加空格我不知道有多個空格後'<'。在哪一行? (它不打算修復多個空間,因爲這是OP的快速修復,他的例子只有1個空間) – Spokey

3

你嘗試做它的DOM元素,並獲得它的HTML回來?

var new_table = $("<div>"+str+"</div>"); // create a new DOM DIV containing the element with the given text 

str_without_spaces = new_table.html(); 

但無論如何,你是否真的需要刪除空格?我的意思是,當你使用上面的第一行時,它會創建一個DOM表,其中所有的空格都會消失(因爲「<」和「>」之間的空格被刪除,並且如果空格不是html代碼,它們將被刪除) 。

所以最簡單的方法是用$(str);創建DOM元素並將其附加到HTML頁面中的某個元素。

+0

感謝您的快速回復@ Ricola3D –

相關問題