让我们假设以下元素(查找尾部和前导空格):
<p>
<span class="item">Lorem Ipsum is simply dummy text </span><span class="item">of the printing and typesetting</span><span class="item"> industry.</span>
</p>
我想用
,应付display: inline-block
这里显示了奇怪的行为:http://jsfiddle.net/squuz/(不知道所有的浏览器,但最新的Chrome和Firefox都是一样的)。
现在,由于javascript是这里的一个选项,jQuery也是一个选项,所以我可以:
$('p').text($('p').text().replace(/ /g, ' '));
但它逃过了
结果变成a mess of entities
...
显然,为了这些目的我们可以用$('p').html()
*
$('p').html($('p').html().replace(/ /g, ' '));
但是这个更糟,因为它也增加了
在标签本身内:
<p>
<span class="item">Lorem Ipsum is simply dummy text </span><span class="item">of the printing and typesetting</span><span class="item"> industry.</span>
</p>
<!-- TL;DR -->
<span class="item"></span> <!-- is actually invalid... -->
<span>
类元素item
在容器内(也可能不一定是<p>
)。我在这里有什么选择?
发布于 2018-01-29 10:29:36
$('p').contents().filter(function(){
return this.nodeType == 3 // Text node
}).each(function(){
this.data = this.data.replace(/ /g, '\u00a0');
});
发布于 2018-01-29 11:45:15
jQuery is really great and does all things,CSS在某些情况下也可以工作:
white-space: pre-wrap;
与CSS 3有关的:text-space-collapse
https://stackoverflow.com/questions/-100007253
复制相似问题