Используя стиль видимости вместо скрытого, диапазон единиц будет по-прежнему занимать пространство в макете, поэтому вам не нужно играть с шириной.
var unitSpan = $('<span>')
.attr('id', "unit_selection_" + transactionNum)
.attr('style', "grid-column-start:8; grid-column-end:10")
.css({'visibility':'hidden'})
.appendTo(linkSet);
, затем используйте
unitSpan.css('visibility','')
, чтобы сделать элемент видимым.
Кроме того, если вы используете метод jQuery css (), вы не будете сжимать значение стиля. Похоже, что вы повторяете «grid-column-start: 8; grid-column-end: 10» из-за этого.
var unitSpan = $('<span>')
.attr('id', "unit_selection_" + transactionNum)
.css({"grid-column-start" :"8", "grid-column-end":"10", "visibility":"hidden"})
.appendTo(linkSet);
, затем используйте любой из них, чтобы отобразить его вместо сброса всего стиль, который может вызвать другие проблемы.
unitSpan.css('visibility','');
unitSpan.show();