Ответ 1
У вас есть & nbsp в коде вместо
$('p').each(function(){
$(this).html($(this).html().replace(/ /gi,''));
});
Ищем способ удаления ' '
из моего html-кода, нашел несколько способов на stackoverlow.com, но ни один из этих швов работать!
HTML
<p>No Space</p>
<p> 1 Space</p>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spaces</p>
JQuery
$(document).ready(function() {
$('p').text().replace(/ /g, '');
//$('p').html($(this).html().replace(/ /gi,''));
});
jsfiddle - игровая площадка http://jsfiddle.net/MrTest/hbvjQ/85/
Любая помощь очень ценится.
Пит
У вас есть & nbsp в коде вместо
$('p').each(function(){
$(this).html($(this).html().replace(/ /gi,''));
});
Этот символ заменит каждый символ пробела:
$('p').text(function (i, old) {
return old.replace(/\s/g, '')
});
Или, если вы хотите заменить неразрывные пробелы:
$('p').text(function (i, old) {
return old.replace(/\u00A0/g, '')
});
Я устанавливаю новое значение, используя закрытие в качестве параметра для .text()
.
Обратите внимание, что в конечном итоге HTML-объекты нуждаются в закрытии ;
.
попробуйте
$('p').each(function() {
$(this).html($(this).html().replace(/ /g, ''));
});
или если вы хотите удалить & nbsp try
$('p').each(function() {
$(this).html($(this).html().replace(' ', ''));
});
также обратите внимание, что пробел
, а не   (вам не хватает;)
На основе bažmegakapa 'answer, это можно использовать для элементов, содержащих другие элементы.
$('p').html(function (i, old) {
return old.replace(/ /g, '')
});
.text()
избавляется от элементов html; .html()
не
Вы заменяете текст, но не применяете его обратно. Кроме того, используйте $.trim
, чтобы избавиться от
$('p').text(function(i,e){
return $.trim(e.replace(/ /g, ''));
});
Вот код:
$('p').each( function() {
var elem = $( this );
elem.html( elem.html().replace( / /g,'' ) );
} );
И вот jsfiddle: http://jsfiddle.net/hbvjQ/62/
Здесь ответ не-jQuery, поскольку использование jQuery для такой задачи является излишним, если вы уже не используете его для чего-то еще на своем сайте:
var p = document.getElementsByTagName('p');
Array.prototype.forEach.call(p, function(el) {
el.innerHTML = el.innerHTML.replace(/ /gi, '');
});
<p>No Space</p>
<p> 1 Space</p>
<p> 2 Spaces</p>
<p> 3 Spaces</p>
<p> 4 Spaces</p>