删除跨度之间的空白
Remove a white space between spans
我的span设置为…
<span class='Main'>
<span id='id1'>some</span> <span id='id2'>words</span>
</span>
<span>.</span>
输出
一些词
有没有办法去掉&保持其他空间不变吗?
我试过trim()
,但它删除了我的字符串中的所有空格;前面有很多词(每个词都在一个跨度内)我不想影响它们。
是否有一种方法可以"瞄准"那个特定的空间?
Ed:我可以编辑HTML &删除空白,但我想通过编程来完成。
由于<span>
元素默认为inline
元素,因此它们之间的空白将被尊重(显示)。避免这种情况的一种方法是删除HTML代码中元素之间不需要的空白:
<span class='Main'><span id='id1'>some</span> <span id='id2'>words</span></span><span>.</span>
编辑
如果你不想改变HTML代码,也许你可以使用CSS来模拟单词之间的空格。
在下面的示例中,我将容器的font-size
设置为零以隐藏空白,然后将<span>
元素的font-size
设置为可读大小(由thirtydot和dsfq发布的方法)。然后我在每个<span>
之前添加一些边距,这不是第一个或最后一个子节点。
不可否认,这种方法不是很可靠,特别是当你不能预测是否会有一个时期时。
.container {
font-size: 0;
}
.container span {
font-size: 16px;
background: #DDD;
}
.container span:not(:first-child):not(:last-child) {
margin: 0 0 0 .5em;
}
<div class="container">
<span>some</span>
<span>words</span>
<span>go</span>
<span>here</span>
<span>.</span>
</div>
虽然不整洁,我决定用一些jquery和js编码:
var get = "";
var array = [];
var i = 0;
var concat = "";
var str;
function doAction() {
$("span").each(function (index, value) {
if (index != 0) {
get = $(this).text() + " ";
array[index] = get;
if (array[index].trim() == '.') {
array[index] = array[index - 1].trim() + array[index];
array[index - 1] = "";
}
}
});
$("span").each(function (index, value) {
if (index != 0) {
$(this).text(array[index]);
}
});
}
doAction();
这是小提琴。我给它加了更多的跨度,它又能工作了。希望是好的,url: https://jsfiddle.net/eugensunic/kphe5fbL/4/
相关文章:
- 匹配所有字符减去尾部空白,然后匹配大括号之间的字符
- 元素之间的空白,来源不明
- 如何在 ASP.NET Web 表单中填补服务器端和客户端之间的空白
- 使用 JavaScript 如何在行的现有
之间插入空白 标签 - 如何删除合理段落中文本之间不需要的空白
- phonegap iOS中SplashScreen和网络视图之间的空白屏幕
- Regex获取字符和空白之间的字符串,并排除第一个分隔符
- 为什么存在空白/“;“重叠”;在rect元素之间应该有'不要
- 如何编写regex来删除HTMl迷你器中标签和单词之间的空白
- 美观打印时避免Jade模板输出中标签之间的空白
- JS字符串:在数字和字母之间添加空白
- Google Apps脚本,用于发现Google工作表的两列之间的差异,忽略空白单元格和多个实例
- Regex只用于单独的空白,而不是字符之间的空白
- 用点填充两个文本元素之间的空白
- 删除跨度之间的空白
- jQuery/JavaScript-在两个元素之间修剪空白/tab
- html标签和主体之间有奇怪的空白
- 删除导航和横幅之间的空白
- 我想为一个网站添加按钮之间的空间(也许它被称为空白)
- Regex捕获字符,包括标签之间的空白