如何在隐藏/显示跨度元素时保留固定宽度的显示
How can I preserve fixed width display while hiding/showing span elements
我正在使用BioJS中的一些代码,我想扩展其中的功能。BioJS 对象通过为每个字母创建一个单独的 span 元素并在 x 个字母之后创建一个中断(简化)来形成序列显示:
` var j=1;
for (var i=1; i <= a.length; i++) {
if( i % opt.numCols == 0) {
str += '<span class="sequence" id="' + this.getId() + '_' + i + '">' + a[i-1] + '</span>';
str += '<br/>';
j = 1;
} else {
str += '<span class="sequence" style="'+spaceStyle+'" id="' + this.getId() + '_' + i + '">' + a[i-1];
str += ( j % opt.numColsForSpace == 0)? ' ' : '';
str += (opt.spaceBetweenChars)? ' ' : '';
str += '</span>';
j++;
}
}`
这对于向特定坐标添加突出显示的内置功能非常有用,该功能仅使用 jQuery 来查找适当的跨度并更改 css。我试图采取类似的方法来隐藏元素,将它们更改为 display:none,但不幸的是,这留下了行断,从而在文本中存在大洞。请看这里的图片:显示/隐藏
我想知道是否有另一种方法可以创建类似的显示,使我在隐藏元素后保留固定宽度的输出。理想情况下,我仍然可以使用突出显示功能,但我也可以重新编码它以不同的方式工作。
我找到了问题的根源,即来自BioJS的javascript正在添加内联样式的whitespace: pre
,阻止span元素在容器内包装。它导致包含元素仅在换行符处中断。
相关文章:
- javascript来显示元素属性
- 使用JavaScript或jQuery隐藏和显示元素
- 如何在Angular JS中滚动显示元素
- 如何在使用jQuery应用display:none后正确显示元素
- 仅使用Javascript隐藏/显示元素,而不会弄乱DOM
- jQuery单击并显示元素列表
- 键盘没有在Android和BlackBerry中显示元素焦点
- 在CSS转换期间显示元素的大小值
- 当我们关注jQuery时,只显示元素
- 包含方法和突出显示元素的问题
- JS/JQuery隐藏元素,更改文本,显示元素
- 如何显示元素的一部分,并在单击时切换到所有元素
- 在隐藏元素中显示元素
- 当PROTRACTOR元素后面有元素时,我怎么能知道当前的显示元素
- 在mouseover上显示元素在mouseleave上隐藏
- jquery显示元素是否具有类和特定值的内容
- 不能在复选框旁边显示元素
- 动态显示元素上的JavaScript触摸端;不要开火
- 点击JQuery/HTML5显示元素的索引/位置
- AngularJS:如何默认显示元素,并在按下按钮时切换