为select元素

时间:2016-12-08 20:26:58

标签: javascript html css html-select

我在加载网页时有以下内容:

<script>     
function updateStateSelectColor(){
  var elm = document.getElementById("state");
  elm.style.color="black";
}
</script>

<select id="state" onchange="updateStateSelectColor()">
  <option value="AL">Alabama</option>
  <option value="FL" selected>Florida</option>
</select>

我想要的是当页面加载状态选择框内的所选文本时加粗黑色就像我的onchange函数一样,使文本变黑。 问题是我的JavaScript仅适用于onchange而非onload

1 个答案:

答案 0 :(得分:0)

有多种方法可以实现这一目标。

  1. 使用document.addEventListener()DOMContentLoaded事件添加回调:
  2. &#13;
    &#13;
    document.addEventListener("DOMContentLoaded", function(event) {
      updateStateSelectColor();
    });
    function updateStateSelectColor(){
      var elm = document.getElementById("state");
      elm.style.color="green";
    }
    &#13;
    <select id="state" onchange="updateStateSelectColor()" style="color: red">
      <option value="AL">Alabama</option>
      <option value="FL" selected>Florida</option>
    </select>
    &#13;
    &#13;
    &#13;

    甚至可以将函数直接绑定到事件监听器,但请记住,该函数将接收对事件的引用作为第一个参数。

          document.addEventListener("DOMContentLoaded", updateStateSelectColor);
    
    1. 将功能分配给window.onload属性
    2. &#13;
      &#13;
      window.onload = function(event) {
        updateStateSelectColor();
      };
      function updateStateSelectColor(){
        var elm = document.getElementById("state");
        elm.style.color="green";
      }
      &#13;
      <select id="state" onchange="updateStateSelectColor()" style="color: red">
        <option value="AL">Alabama</option>
        <option value="FL" selected>Florida</option>
      </select>
      &#13;
      &#13;
      &#13;

      1. 使用<body>代码的onload属性

      2. 定义后立即调用该函数(如bassxzero's comment中所述)。