0

次のdivを含むWebページがあります。

<div class='book_box'>
    <table border=0 cellspacing=0>
        <tr>
            <td align='center'><img src='img/theseven.jpg' /></td>
        </tr>
        <tr>
            <td align='center'>The Seven by Derek Edgington</td>
        </tr>
    </table>
</div>

そして、私は私のヘッダーにこのJavascriptコードを持っています:

$('.book_box').hover(
    function() {
        $(this).css('background', '#ffffff');
    },
    function() {
        $(this).css('background', '#a8ff9a');
    }
);

...そしてそれは単に機能しません。私はjQueryが正しくロードされていることをテストして確認し、それを使って他のいくつかの操作を実行しました。このコードは機能しないようですか?

4

4 に答える 4

4

コードを変更することなく、ここで私のために働いている IT は JSFiddle のデモです

デモ

提案:ただ利用する$(document).ready

$(document).ready(function() {
  $('.book_box').hover( function() {
      alert('abc');
      $(this).css('background', '#ffffff'); 
    },
    function() { 
      alert('abc1');
      $(this).css('background', '#a8ff9a'); 
    } 
  );  
});
于 2012-07-06T08:14:33.557 に答える
2

コードを dom Ready コールバック関数に入れる必要があります。.book_boxまたは、 div の準備が整う前にコードが実行されます。

$(function() {
  // put your code here.

});

のショートカットです

$(document).ready(function() {
  // put your code here.

});
于 2012-07-06T08:13:23.207 に答える
0

試す:

 $('.book_box').hover(
function() {
    $(this).css(backgroundColor, '#ffffff');
},
function() {
    $(this).css(backgroundColor, '#a8ff9a');
}

);
于 2012-07-06T08:12:54.487 に答える
0

Linux 上の Firefox と Opera では問題なく動作していますが、次のようにしてみてください:

$(function() {
            $('.book_box table').hover(
            function() {
                $(this).css('background', '#ffffff');
            },
            function() {
                $(this).css('background', '#a8ff9a');
            }
        );
});

(Firefox) エラー コンソールを確認しましたか?

于 2012-07-06T08:35:24.730 に答える