如何使用Javascript删除html标记中不需要的空格

How to remove unwanted spaces in html tags using Javascript?

本文关键字:不需要 空格 何使用 Javascript 删除 html      更新时间:2023-09-26

我有一个Javascript变量。变量在下方给出

 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" >

如何格式化变量。请告知。

你有没有试着用它制作一个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表,其中所有的空格都会消失(因为"<"answers">"之间的空格会被删除,如果标签不是html代码,那么标签内部的空格也会被删除)。

因此,最简单的方法是使用$(str);创建DOM元素,并将其附加到html页面中的某个内容中。

我有点不擅长,但这应该可以做到

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

FIDDLE