0

jQueryでの「this」の使い方がよくわからないと思います。ul の任意の要素にカーソルを合わせたときに何かを実行したい場合。これをどのように使用しますか?

例はここにあります: http://jsfiddle.net/WREjV/

HTML:

<ul class="menu">
    <li id="first">first</li>
    <li id="second">second</li>
</ul>

Jクエリ:

$(function(){
    $("#menu").hover(function() {
        $(this).fadeOut("slow");

    },function() {
        $(this).fadeIn("slow");
    });

    /* This works:
    $("#first").click(function() {
        $("#first").fadeOut("slow");
    });
    */
})
4

8 に答える 8

2

http://jsfiddle.net/WREjV/1/

クラスを提供するときに使用する必要がある(要素のIDを参照する)セレクターを使用したため、セレクター#menu.menu$(".menu")

$(function(){

    $(".menu").hover(function() {
         $(this).fadeOut("slow");

    },function() {
        $(this).fadeIn("slow");
    });


})
于 2013-04-29T10:16:09.863 に答える
1

これを試してください http://jsfiddle.net/WREjV/2/

ul のすべての要素について

$(function(){
    $(".menu li").hover(function() {
        $(this).fadeOut("slow");

    },function() {
        $(this).fadeIn("slow");
    });
    })
于 2013-04-29T10:16:15.273 に答える
1

また、LI 要素にホバー時にフェードアウトするように指示している場合、フェードインをトリガーするためにホバーするものは何も残りません。

于 2013-04-29T10:16:16.873 に答える
0

ID への参照である # ハッシュを使用しているため、コードは ID "menu" を持つ要素を探しています。クラス名を表すピリオド (.) を使用するようにコードを変更しました。

$(function(){

    $(".menu").hover(function() {
         $(this).fadeOut("slow");

    },function() {
        $(this).fadeIn("slow");
    });


})

こちらをご覧ください フィドル

于 2013-04-29T10:19:17.093 に答える
-1

すべての要素をホバーする必要があります。そのためには、セレクターを変更して li を含めます。

$(function(){
$(".menu li").hover(function() {
    $(this).fadeOut("slow");

},function() {
    $(this).fadeIn("slow");
});
})
于 2013-04-29T10:15:31.847 に答える