1
<select id="mySelect">
   <option>140 AAA</option>
   <option>141 BBB</option>
   <option>140 CCC</option>
   <option>140 EEE</option>
</select>

我想用 JavaScript 在数字后添加几个空格。

期望的输出

<select id="mySelect">
   <option>140   AAA</option>
   <option>141   BBB</option>
   <option>140   CCC</option>
   <option>140   EEE</option>
</select>
4

3 回答 3

2

This method feels a bit, I dunno, icky. Howeve it's the first thing I can come up with in a pure JavaScript sense. Change the 10 to however many spaces you would like.

var selectEl = document.getElementById("mySelect");
for ( var i = 0; i < selectEl.options.length; i++ ) {
  var opt = selectEl.options[i];
  opt.innerHTML = opt.innerHTML.replace( /\s/, Array(10).join('&nbsp;') );
}
于 2012-05-17T15:37:55.333 回答
0

您想要为最大长度属性输出一个填充字符串,还是只需要它来格式化和视觉效果?您可以在字符串的任一侧使用填充功能。

像这样的东西:

" " + day + " " 将在字符串中 day 的值的每一侧添加一个空格。

于 2012-05-17T15:31:14.327 回答
0

如果您正在寻找数字和字母之间的更多填充,请尝试使用不间断空格。它将在 HTML 中显示为空格。

<option>140 &nbsp;&nbsp; EEE</option>

如果您坚持使用javascript,请尝试使用jquery循环访问选项并调整它们

$('#mySelect > option').each (function ()
    {
    $(this).text ().replace (' ', ' &nbsp; '); 
    });

我没有测试过,但你明白了。

于 2012-05-17T15:32:04.077 回答