0

jqueryをロードしてからpopup.jsをロードするpopup.htmlがあります。特定のクラスの div にカーソルを合わせたときにカーソルを変更しようとしていますが、これは起こっていません。

popup.html

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
    <link type="text/css" rel="stylesheet" href="css/fbh-ui.css" />
    <script type="text/javascript" src="js/jq.js"></script>
    <script type="text/javascript" src="js/popup.js"></script>
</head>

<body style="width: 200px">
    <div id="fbh-main">
        <div class="fbh-popup-menu-item" id="fbh-popup-enabled"></div>
    </div>
</body>

popup.js

$(document).ready(function() {
    $('.fbh-popup-menu-item').mouseenter(function() {
        this.css('cursor', 'pointer');
    });

    $('.fbh-popup-menu-item').mouseleave(function() {
        this.css('cursor', 'default');
    });
});

このコードは機能するはずです。DOM 要素は既に存在するため、存在しない理由はありません。

4

1 に答える 1

2

関数の書き方thisが間違っています。次のようにする必要があり$(this)ます。

以下は更新されたコードです。

 $(document).ready(function() {
        $('.fbh-popup-menu-item').mouseenter(function() {
            $(this).css('cursor', 'pointer');
        });

        $('.fbh-popup-menu-item').mouseout(function() {
            $(this).css('cursor', 'default');
        });
    });
于 2013-02-10T05:20:11.627 に答える