Я добрался, элемент HTML содержит это:
<!--Product Style--> <div style="float: right; padding-top: 4px; padding-bottom: 5px;"> P6C245RO </div> <div style="text-transform: uppercase; font-weight: bold; padding-top: 4px; padding-bottom: 5px;"> Style </div> <div style="clear: both; border-top: 1px solid rgb(216, 216, 216); padding-top: 4px;"> <!--Product Description--> <div style="font-size: 11px ! important;"></div> <div style="background: url("http://ii.armaniexchange.com/ArmaniExchange/images/en_US/global/globalgraphics/bullet.gif") no-repeat scroll 0pt 4px transparent; padding-left: 12px;">fine tonal striped fabric</div> <div style="background: url("http://ii.armaniexchange.com/ArmaniExchange/images/en_US/global/globalgraphics/bullet.gif") no-repeat scroll 0pt 4px transparent; padding-left: 12px;">epaulettes and sleeve tab</div> <div style="background: url("http://ii.armaniexchange.com/ArmaniExchange/images/en_US/global/globalgraphics/bullet.gif") no-repeat scroll 0pt 4px transparent; padding-left: 12px;">metal logo plate on the chest pocket</div>
Когда я считал его с помощью jQuery, я добираюсь .text()
содержит много пробелов и/n, промежуточного текст, но без тегов HTML.
Как удалить все эти пробелы и возвратить чистый текст с помощью jQuery или чистого JavaScript?
element.text().replace(/\s+/g, " ");
Здесь используется регулярное выражение ( /.../
) для поиска одного или нескольких ( +
) пробельных символов ( \ s
) по всему тексту элемента ( g
, глобальный модификатор, который находит все совпадения, а не останавливается после первого совпадения) и заменяет каждое одним пробелом ( ""
) .
Вы можете удалить все экземпляры совпадающих пробелов и символов новой строки следующим образом
// Note: console.log() requires Firebug
var str = ' this is \n some text \r don\'t \t you know? ';
console.log( str );
str = str.replace( /[\s\n\r]+/g, ' ' );
console.log( str );
Затем очистить их и применить к вашему jQuery
$.trim( $element.text().replace( /[\s\n\r]+/g, ' ' ) )