3

次の HTML コードを使用しています。

<!DOCTYPE html>
<html>
<head>
    <title>Project Quiz</title>
    <link rel="stylesheet" type="text/css" href="z/baseCss.CSS">
    <script src="/jquery-1.9.1.min.js"></script>
    <script src="/baseJS.js"></script>
</head>
<body>

<div id=header></div>
<div id=contain>
    <h1>Welcome to my web application</br>
  Please enter your name, click 'continue' and have fun</h1>
    <form>
        <input type="text" id="name" value="John Doe"/>
    </form>
    <div class="awesome">Continue</div><br/>
</div>
<div id=footer></div>

</body>
</html>

そしてjQueryのコード:

$(document).ready(function(){
    $("input")
        .focus(function(){
        $(this).css('outline-color','#559FFF');
        $(this).blur(function(){
            $(this).css("outline-color","#FF0000");
        });
    });
    $("input").click(function(){
     var value = $(this).val(function(){
         $(this).html("");
      });
    });
    $(".awesome").click(function(){
        b._slide(1000);
    });
    var b = $("div:nth-child(2)");
    alert(b);
});

私の問題は、すべての子を選択する方法がわからず<div id="contain">、「awesome」クラスのdivボタンをクリックするとフェードアウトする方法がわからないことです。

これは私がこれまでに試したことです:

$(".contain").each(function(){
    $(this).fadeOut(1000);
});

but it didnt work also i tried: 
$(".contain").children(function(){
    $(this).fadeOut(1000);
});

ここでも同じ結果です。

私は何を間違っていますか?fadeOut内容だけ<div id="contain">を残し、他のすべてをそのままにしておく必要があります。

4

2 に答える 2

3

以下を使用する必要があります。

$("#contain").children().fadeOut(1000);
  • $(this)あなたのセレクターです
  • .children()要素のすべての子を選択します
  • .fadeOut(1000)現在の選択をフェードアウトします

あなたの試みは次の理由で間違っていました:

$(".contain").each(function(){ $(this).fadeOut(1000); });

クラス.containを持つすべての要素を選択して非表示にします

$(".contain").children(function(){ $(this).fadeOut(1000); });

class で要素を選択し、それが処理しない.contain関数を渡しています。.children()

containあなたの場合、クラスではなくIDであることに注意してください。

于 2013-04-04T22:02:07.887 に答える