我正在使用 text-align:justify 来均匀地隔开内联块元素。我正在使用 jQuery 交换某些元素,以便它们更适合(例如更有效地填充行)。然而,浏览器不再正确地证明交换的元素是正确的。有没有办法让浏览器重新调整元素来克服这个问题?
编辑 这是一个显示问题的jsfiddle:http: //jsfiddle.net/sprintstar/HKDd9/3/
我正在使用 text-align:justify 来均匀地隔开内联块元素。我正在使用 jQuery 交换某些元素,以便它们更适合(例如更有效地填充行)。然而,浏览器不再正确地证明交换的元素是正确的。有没有办法让浏览器重新调整元素来克服这个问题?
编辑 这是一个显示问题的jsfiddle:http: //jsfiddle.net/sprintstar/HKDd9/3/
问题在于行内块元素之间缺少空格。你错过的是文本节点:
$(function() {
var eq3 = $('.container a:eq(3)');
var eq4 = $('.container a:eq(4)');
eq4.before(eq3).before(" ");
});
尽管我不确定您的代码未按预期工作的原因,但我有一个可能的解决方案。也许有人可以对这个问题有所了解。
首先eq4.before(eq3);
意味着你把它放回你选择它的地方。我相信你的意思是eq4.insertBefore(eq3);
我尝试添加一个新元素并且效果很好
$('<a href="#" class="sq-1"><img src="http://placehold.it/64x32" /></a>').insertBefore(eq3);
编辑:但克隆相同的元素不会产生相同的结果。
eq4.clone().insertBefore(eq3);
eq4.remove();