问题 javascript更改选择选项文本


我试图通过javascript修改第一个选择选项的文本。 但它清空了整个选择选项

 <select name='stuff'>
      <option value="a"> Pepsi </option>
      <option value= "b"> Juice </option>
 </select>


<script type="text/javascript">
    document.getElementsByName('stuff')[0].innerHTML = "Water";
</script>

4196
2017-09-19 13:21


起源

如果您只是设置文本,请使用 textContent 代替 innerHTML - ndugger
可能重复 如何更改HTML选择元素的选定选项? - laaposto
@NickDugger真的吗?关于什么 IE8? :) - Roko C. Buljan
@ RokoC.Buljan取决于他的目标平台,但是你会使用innerText和textContent的组合,但innerHTML在这里几乎不合适。 - ndugger
@Frinsh只是为了记录,FF不支持innerText,所以你必须做一个简短的polyfill,在这种情况下你应该polyfill textContent,而不是相反。 - ndugger


答案:


你想阅读 选项 收集并修改那里的第一个元素:

document.getElementsByName('stuff')[0].options[0].innerHTML = "Water";

14
2017-09-19 13:24





你可以试试这个:

 $('select[name=stuff] option:first').html("abcd");

1
2017-09-19 13:28



OP没有要求jQuery,这个问题也没有jQuery标签。 - ndugger
同样的问题,我想用于jQuery - 感谢您的贡献。 - Genki


我认为这应该有效:

 <select name='stuff'>
          <option id="first" value="a"> Pepsi </option>
          <option value= "b"> Juice </option>
     </select>


    <script type="text/javascript">
        document.getElementById("first").innerHTML = "Water";
    </script>

0
2017-09-19 13:27