0

javascript のメソッドがあり、マウスオーバーで要素の ID を取得しようとしています。これを行う方法はありますか?

引数を取らないメソッドがあるとします

function noArgs() {}

p1 と p2 の id を持つ 2 つの段落がありますが、ホバーされた段落の id を取得するにはどうすればよいですか?

編集:これは現在、メソッドの「要素」引数を削除したいIDを取得する方法です

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
        <title>Test</title>
        <script type="text/javascript" href="js/jquery.js"></script>
        <script type="text/javascript">
            function hoverButton(element) {
                var button = document.getElementById(element);
                switch (button.state) {
                    case "up":
                        button.style.backgroundPosition = "top";
                        button.state = "down";
                        break;
                    default:
                        button.style.backgroundPosition = "bottom";
                        button.state = "up";
                        break;
                }
            }
        </script>
        <style type="text/css">
            .button {
                background-image: url("images/button.png");
                width: 100px;
                height 50px;
                background-position: top;
                border: none;
                font-size: 18px;
            }
        </style>
    </head>

    <body>
        <input type="submit" id="submit_button" class="button" value="Submit" state="up" onmouseover="hoverButton('submit_button')" onmouseout="hoverButton('submit_button')"/>
        <input type="submit" id="submit_button2" class="button" value="Submit" state="up" onmouseover="hoverButton('submit_button2')" onmouseout="hoverButton('submit_button2')"/>
    </body>
</html>
4

2 に答える 2

2

jQueryを使用:

$element.bind('mouseover', function() {
  var id = $(this).attr('id');
});
于 2011-04-14T15:06:55.417 に答える
1

なぜ要素引数を削除したいのですか?

あなたのシナリオでは、あなたはあなたの関数からonmouseover="hoverButton(this)"の行を実行し、省くことができvar button = document.getElementById(element);ます。 elementその場合、その時点でマウスオーバーされていた要素になり、を実行することでそのIDを取得できます(必要に応じて)element.id

ただし、コードにjQueryへの参照があるので、それを使用することもできます;)

于 2011-04-14T15:13:46.463 に答える