4

タグ内に関数を追加する方法を知る必要があります。ID とクラスが異なり、同じタグ名で JavaScript メソッドを適用する必要があるため、これは重要です。これまでのところ、これが私が思いついたものであり、これを機能させようとしています。

<!DOCTYPE html>
<html>
<body onload="myFunction()">

<select>
    <option>1</option>
</select>
<br/>
<select>
    <option>1</option>
</select>

<script>
function myFunction()
{
    var elem = document.getElementsByTagName("SELECT");
    for (var i = 0;i < elem.length; i++)
    {
        elem[i].onmouseover = "this.style.background='red'";
    }
}
</script>

</body>
</html>
4

3 に答える 3

2

あなたはこれを試すことができます

window.onload=function(){
    var elem = document.getElementsByTagName("SELECT");
    for (var i = 0;i < elem.length; i++)
    {
        elem[i].onmouseover = function(){ this.style.background='red'; }
        elem[i].onmouseout = function(){ this.style.background='white'; }
    }
};

デモ。

于 2013-04-23T02:17:02.700 に答える
2

イベント ハンドラーは関数なので、次のようになります。

elem[i].onmouseover = function() {
    this.style.background='red';
}

のように HTML にイベント ハンドラを直接追加すると<div onmouseover="this.style.background='red'"></div>、そのラッパー関数は暗黙的になります。JavaScript からハンドラーをアタッチする場合は必須であり、その本体は文字列ではなく通常のコードである必要があります。

于 2013-04-23T02:17:31.467 に答える