还在寻找一种从我的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 - playground http://jsfiddle.net/MrTest/hbvjQ/85/
任何帮助都非常感谢。
皮特
答案 0 :(得分:43)
您的代码中有&而不是
$('p').each(function(){
$(this).html($(this).html().replace(/ /gi,''));
});
答案 1 :(得分:27)
这个将替换每个空格字符:
$('p').text(function (i, old) {
return old.replace(/\s/g, '')
});
或者,如果您只想替换不间断的空格:
$('p').text(function (i, old) {
return old.replace(/\u00A0/g, '')
});
我使用closure as a parameter for .text()
设置新值。
请注意,HTML实体最终需要关闭;
。
答案 2 :(得分:6)
这是一个非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>
答案 3 :(得分:5)
尝试
$('p').each(function() {
$(this).html($(this).html().replace(/ /g, ''));
});
或者如果您想删除&amp; nbsp try
$('p').each(function() {
$(this).html($(this).html().replace(' ', ''));
});
另请注意,空格为
,而不是(您丢失;)
答案 4 :(得分:5)
基于bažmegakapa' answer,这可用于包含其他元素的元素。
$('p').html(function (i, old) {
return old.replace(/ /g, '')
});
.text()
摆脱了html元素; .html()
没有
答案 5 :(得分:1)
以下是代码:
$('p').each( function() {
var elem = $( this );
elem.html( elem.html().replace( / /g,'' ) );
} );
这是jsfiddle:http://jsfiddle.net/hbvjQ/62/